因项目需要用到Zend Framework,所以最近在网上找了一些这方面的资料,现在整理一下留作备用,如有什么错误的地方欢迎指点。
1)目录结构:
|-- repos
|--|-- application
|--|--|-- Botstrap.php -------------------------- 全局bootstrap文件
|--|--|-- configs
|--|--|--|-- application.ini ---------------------- 全局配置文件
|--|--|-- modules
|--|--|--|-- default
|--|--|--|--|-- Bootstrap.php ------------------- 模块bootstrap文件
|--|--|--|--|-- configs
|--|--|--|--|--|-- module.ini --------------------- 模块配置文件
|--|--|--|--|-- controllers
|--|--|--|--|--|-- ErrorController.php
|--|--|--|--|--|-- IndexController.php
|--|--|--|--|-- models
|--|--|--|--|--|-- Albums.php
|--|--|--|--|-- views
|--|--|--|--|--|-- layout
|--|--|--|--|--|--|-- default.phtml
|--|--|--|--|--|-- scriptx
|--|--|--|--|--|--|-- error
|--|--|--|--|--|--|--|-- error.phtml
|--|--|--|--|--|--|-- index
|--|--|--|--|--|--|--|-- index.phtml
|--|-- data
|--|--|-- log
|--|--|--|-- application.log ----------------------- 错误日志(目录应有可写权限)
|--|-- library
|--|--|-- Personal
|--|--|--|-- Plugin
|--|--|--|--|-- Loader.php ----------------------- 控制器插件
|--|--|--|--|-- Log.php -------------------------- 日志插件
|--|--|-- Zend
|--|-- public
|--|--|-- index.php ------------------------------ 入口文件
|--|--|-- .htaccess
2)配置文件
application.ini
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] = "default"
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
database.adapter = "Pdo_Mysql"
database.params.host = "localhost"
database.params.username = "root"
database.params.password = "123456"
database.params.dbname = "test"
database.params.driver_options.1002 = "SET NAMES UTF8"
module.ini
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
default.resources.layout.layout = "default" //设置default模块的视图名称为default.phtml
default.resources.layout.layoutPath = APPLICATION_PATH "/modules/default/views/layout" //设置default模块视图的文件path
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
3)入口文件:
index.php
defined('BASE_PATH')
|| define('BASE_PATH', realpath(dirname(__FILE__)));
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', BASE_PATH . '/../application');
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
get_include_path(),
)));
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
->run();
.htaccess
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]