0
幾個問題有關ZendFramework:ZendFramewok一個文件夾中
當創建一個新的項目,纔可能擁有的一切一個文件夾中,像笨。那麼應用程序和系統文件夾,或類似的東西?
當我完成與ZendFramework項目,有多難/易是放在一個服務器上(不使用控制檯 - 共同主辦)?
可以進行開發時,我使用ZendFramework沒有終端?說如果我正在使用FTP客戶端創建一個新班級?
在此先感謝! :)
幾個問題有關ZendFramework:ZendFramewok一個文件夾中
當創建一個新的項目,纔可能擁有的一切一個文件夾中,像笨。那麼應用程序和系統文件夾,或類似的東西?
當我完成與ZendFramework項目,有多難/易是放在一個服務器上(不使用控制檯 - 共同主辦)?
可以進行開發時,我使用ZendFramework沒有終端?說如果我正在使用FTP客戶端創建一個新班級?
在此先感謝! :)
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);
...