`

Zend Application之application.ini配置,基于多模板、多module的(1.8以上)

    博客分类:
  • Zend
 
阅读更多

在Zend Framework1.8以后加入的Zend_Application,可以说 Zend_Application 和其引入的 Bootstrap 及 Resource 概念,大大简化了应用程序的初始化组装过程。

下面主要说下Bootstrap.php及application.ini的配置。

1.Bootstrap
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap中主要做些初始化的工作,以_init开头的function都会在加载的过程中被运行。举例如下:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initConfig()
{
$config = new Zend_Config($this->getOptions());
Zend_Registry::set('config', $config);
return $config;
}

protected function _initView()
{
//Different view implementation
$extraParams = $this->getOption('smarty');
$view = new Custom_View_Smarty($extraParams);
$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer($view);
$viewRenderer->setViewSuffix('html');
Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
}

public function _initDoctrine()
{
require_once 'Doctrine.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->pushAutoloader(array('Doctrine', 'autoload'));

$doctrineConfig = $this->getOption('doctrine');
$connectionString = $this->getOption('resources');

$dsn = new PDO('mysql:dbname=' . $connectionString['db']['params']['dbname'] .
';host=' . $connectionString['db']['params']['host'],
$connectionString['db']['params']['username'],
$connectionString['db']['params']['password']);

$manager = Doctrine_Manager::getInstance();
$manager->setAttribute(
Doctrine::ATTR_MODEL_LOADING,
Doctrine::MODEL_LOADING_CONSERVATIVE);

// Add models and generated base classes to Doctrine autoloader
Doctrine::loadModels($doctrineConfig['models_path']);

$manager->openConnection($dsn);

return $manager;
}
}

主要是做一些初始化的工作。

2、application.ini
application.ini主要是配置Zend_Application_Resource的参数。
Zend_Application_Resource是 Zend Framework 针对 php 这种 web 开发语言的特性而加入的。它所阐述的思想是:按需加载 (Loaded On Demand) 。因为 php 每次解析都是资源循环的完整过程,这使得如何将每次php解析的代码量减至最低,就成了优化php应用程序的重要一环,也是众多框架在开发过程中的重点问题之一。

目前 Zend Framework 1.8 提供的默认资源总共10个:

 

1. Zend_Application_Resource_Db

2. Zend_Application_Resource_Frontcontroller

3. Zend_Application_Resource_Layout

4. Zend_Application_Resource_Locale

5. Zend_Application_Resource_Modules

6. Zend_Application_Resource_Navigation

7. Zend_Application_Resource_Router

8. Zend_Application_Resource_Session

9. Zend_Application_Resource_Translate

10. Zend_Application_Resource_View

在application.ini中配置的参数,会自动加载到resource中,自动完成初始化的过程。我的配置如下:
[production]
includePaths.library = APPLICATION_PATH "/../libs"
appnamespace = "Application"

;=========== 类自动加载的前缀
autoloadernamespaces.0 = "Zend_"
autoloadernamespaces.1 = "Custom_"

;=========== php ini配置
phpsettings.date.timezone = "Asia/Shanghai"
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
phpsettings.error_reporting = 8191

;=========== bootstrap类的路径及类名
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"

;=========== front controller配置
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules/"
resources.frontController.moduleControllerDirectoryName = "controllers"
resources.frontController.defaultModule = "default"
resources.frontController.defaultControllerName = "index"
resources.frontController.defaultAction = "index"
resources.frontController.baseUrl = "/www"
resources.frontController.noErrorHandler = 1
resources.frontController.throwExceptions = 1

;============网站模块(不同模块对应不同layout,与不同的ViewHelper)
resources.view.params.default.basePath = APPLICATION_PATH "/modules/default/views/"
;resources.view.params.default.helperPath = "Custom/View/Helper/Default/"
;resources.view.params.default.layout = "default"
;resources.view.params.default.layoutPath = APPLICATION_PATH "/modules/default/views/layouts"

;=========== 数据库配置
resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "test"
resources.db.params.password = "123456"
resources.db.params.dbname = "test"
resources.db.params.prefix = "tt_"
resources.db.isDefaultTableAdapter = true
resources.db.params.driver_options.1002 = "SET NAMES UTF8;"

;============smarty
smarty.left_delimiter = "<{"
smarty.right_delimiter = "}>"
smarty.caching = 0

;============网站生成Cache配置
cache.type = file
cache.dir = APPLICATION_PATH "/cache/"
cache.pagedir = APPLICATION_PATH "/cache/page/"
cache.lifetime = 7200
cache.automatic_serialization = TRUE

;=================== doctrine ===========
doctrine.data_fixtures_path = APPLICATION_PATH "/doctrine/data/fixtures"
doctrine.models_path = APPLICATION_PATH "/models"
doctrine.migrations_path = APPLICATION_PATH "/doctrine/migrations"
doctrine.sql_path = APPLICATION_PATH "/doctrine/data/sql"
doctrine.yaml_schema_path = APPLICATION_PATH "/doctrine/schema"

分享到:
评论

相关推荐

    php.ini-development

    SAPI module specific location. ; 2. The PHPRC environment variable. (As of PHP 5.2.0) ; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) ; 4. Current working directory (except CLI...

    Zend Framework配置 中文WORD版

    主要的配置文件有 `application.ini`,用于全局应用配置,以及模块级别的配置文件如 `configs/module.ini`。 **三、配置文件解析** 1. **application.ini**:这是整个应用程序的主配置文件,可以设置路由、资源、...

    zendframework快速配置

    通过以上步骤,你应该已经成功地配置了一个基本的 Zend Framework 2 应用。随着对框架的深入理解,你可以继续学习更多的组件,如服务管理、数据库集成、表单验证和过滤器,以及更高级的主题,如事件系统和插件管理。...

    zend 配置问题 访问action 以及搭建好的框架

    在使用Zend Framework时,配置文件通常是`application.ini`,它定义了应用的基本设置,如数据库连接、模块配置、路由规则等。当遇到访问Action的问题时,检查以下几点至关重要: 1. **正确设置模块**:确保`...

    apache2.2.6+php5.2.5+mysql的配置文件

    另外,`zend optimizer`是一个早期的PHP性能优化工具,但它已不再支持PHP 5.3以上版本,所以在PHP 5.2.5中可能仍被用作性能优化。其配置也通常在`php.ini`中完成。 综上所述,配置Apache 2.2.6、PHP 5.2.5和MySQL...

    php5.2.1 MySQL5.0.37 apache2.2.4 phpmyadmin2.10.0.2 ZendOptimizer3.2.6安装与配置

    在Windows环境下搭建PHP开发环境,主要涉及Apache、MySQL、PHP以及相关的管理工具如phpMyAdmin和ZendOptimizer的安装与配置。以下是一步步的详细步骤: **Apache的安装与配置** 1. 下载Apache 2.2.4的安装包,运行...

    Windows+Apache+Openssl+MySQL+PHP+ZendOptimizer+eAccelerator+phpMyAdmin+NaviCat 安装与配置笔记.txt

    ### Windows + Apache + Openssl + MySQL + PHP + ZendOptimizer + eAccelerator + phpMyAdmin + NaviCat 安装与配置知识点详解 #### 一、Apache的安装与配置 1. **安装Apache**: - 使用`apache_2.2.8-win32-x86...

    php环境配置 php5 MySQL5 apache2 phpmyadmin ZendOptimizer安装与配置

    2. 配置Apache以支持PHP,编辑Apache的配置文件(如httpd.conf),添加`LoadModule php5_module "path/to/php5apache2_2.dll"`和`AddHandler application/x-httpd-php .php`,确保Apache能够识别PHP文件。...

    php环境配置.doc

    2. 配置PHP以加载ZendOptimizer,编辑php.ini文件,添加`extension=php_zendoptimizer.dll`。 3. 重启Apache服务以应用所有更改。 完成这些步骤后,你应该拥有一个完整的PHP开发环境,包括PHP解析、MySQL数据库服务...

    Windows+Apache+Openssl+MySQL+PHP+ZendOptimizere Accelerator phpMyAdmin NaviCat 安装 与 配置 笔记

    ### Windows + Apache + Openssl + MySQL + PHP + ZendOptimizer + eAccelerator + phpMyAdmin + NaviCat 安装与配置指南 #### 一、Apache 安装与配置 **所用文件:** - `apache_2.2.8-win32-x86-openssl-0.9.8g....

    win7x64 Apache+Php+Zend已经配置到d盘,直接解压到d盘根目录即可

    在Windows 7 64位操作系统中,搭建一个基于Apache服务器、PHP解释器以及Zend优化器的Web开发环境是一项常见的任务。这个配置主要用于本地开发PHP应用程序,如WordPress、Magento等,或者是进行PHP代码的调试和优化。...

    php+iis+apatch+zend+mysql配置PHP开发环境

    5. **配置PHP与Apache集成**:编辑Apache的配置文件`httpd.conf`,添加`LoadModule php5_module path/to/php5apache2_2.dll`和`AddHandler application/x-httpd-php .php`。 6. **配置PHP与IIS集成**:安装FastCGI,...

    【php5.2.1 MySQL5.0.37 apache2.2.4 phpmyadmin2.10.0.2 ZendOptimizer3.2.6安装与配置】的解决方案

    - **配置**:在php.ini文件中添加相关配置项启用ZendOptimizer,例如`zend_optimizer.optimization_level=1`。 #### 六、总结 通过以上步骤,可以在Windows环境下成功搭建出一套完整的开发环境,包括Apache2.2.4...

    php5.3.5配置教程

    - Zend Framework:下载`ZendFramework-1.11.4.zip` 注意,PHP需选择VC6版本,因为它是为非IIS的Web服务器如Apache设计的。同时,Apache有openssl和no_ssl两种版本,openssl版本支持SSL安全链接配置。 2. **安装...

    Apache2.4.10+PHP5.4.23+mysql-5.6.10+Zend Guard Loader6)_20141027.docx

    完成以上步骤后,你应该已经成功地在CentOS 6.5上构建了LAMP环境,并安装了 Zend Guard Loader,可以运行PHP应用并利用Zend Guard Loader对代码进行保护和优化。记得定期更新这些组件以保持系统的安全性和稳定性。

Global site tag (gtag.js) - Google Analytics