Zend Framework 多模块配置 (一)

因项目需要用到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]
原文地址:https://www.cnblogs.com/showblog/p/1789230.html