2012-07-31 60 views
0

幾個問題有關ZendFramework:ZendFramewok一個文件夾中

  1. 當創建一個新的項目,纔可能擁有的一切一個文件夾中,像笨。那麼應用程序和系統文件夾,或類似的東西?

  2. 當我完成與ZendFramework項目,有多難/易是放在一個服務器上(不使用控制檯 - 共同主辦)?

  3. 可以進行開發時,我使用ZendFramework沒有終端?說如果我正在使用FTP客戶端創建一個新班級?

在此先感謝! :)

回答

1

Zend框架是像任何其他框架(CakePHP的,笨,Symfony的......),你可以通過CLI命令(項目發電機)或手動設置新的項目設置項目文件夾,包括路徑。

最好的做法是在類似這種形式使用手動方式:

/project/ 
/project/vendors/... - all vendor libraries you may use in your project 
/project/lib/... - your common libraries (if you have some) 
/project/application/... - application files like controllers, views, temp folders etc... 

例子:

/project/vendors/Zend/... (zend framework) 
/project/vendors/Symfony/... (symfony framework) 
/project/lib/MyLib/... (your lib) 
/project/application/Bootstrap.php 
/project/public_html/index.php 

index.php文件片段:

<?php 
define('VENDORS_PATH', '/project/vendors'); 
define('LIB_PATH', '/project/lib'); 
set_include_path(
    LIB_PATH . PATH_SEPARATOR . 
    VENDORS_PATH . PATH_SEPARATOR . 
    get_include_path() 
); 

// setup class autoloading 
require_once VENDORS_PATH . '/Zend/Loader/Autoloader'; 
$autoloader = Zend_Loader_Autoloader::getInstance(); 
$autoloader->setDefaultAutoloader(create_function('$class', "include str_replace('_', '/', \$class) . '.php';")); 
$autoloader->setFallbackAutoloader(true); 

// run application, include Symfony or MyLib files... 

至於您的遷移項目在生產服務器上,您應該首先使用環境設置來設置您的項目配置。

了示例Setup.ini:

[production] 
database.hostname = localhost 
database.username = username 
database.password = password1 
database.dbname = live_db 

[staging:production] 
database.hostname = localhost 
database.username = root 
database.password = password2 
database.dbname = local_db 

使用Apache .htaccess文件可以很容易地設置環境配置加載:

.htaccess文件在本地環境:

SetEnv APPLICATION_ENV staging 

在生產環境中的.htaccess文件:

SetEnv APPLICATION_ENV production 

index.php使用環境變量的代碼片段:

<?php 
... 
define('APPLICATION_ENV', getenv('APPLICATION_ENV')); 
$config = new Zend_Config_Ini(APPLICATION_LIB . '/setup.ini', APPLICATION_ENV); 
... 
相關問題