php zend 运行,php – 使Zend-Framework运行得更快

我缓存我的application.ini像这样:

确保您有以下目录(缓存目录):/ application / data / cache

我使用My_Application扩展Zend_Application,参见代码:

require_once 'Zend/Application.php';

class My_Application extends Zend_Application

{

/**

* Flag used when determining if we should cache our configuration.

*/

protected $_cacheConfig = false;

/**

* Our default options which will use File caching

*/

protected $_cacheOptions = array(

'frontendType' => 'File',

'backendType' => 'File',

'frontendOptions' => array(),

'backendOptions' => array()

);

/**

* Constructor

*

* Initialize application. Potentially initializes include_paths, PHP

* settings, and bootstrap class.

*

* When $options is an array with a key of configFile, this will tell the

* class to cache the configuration using the default options or cacheOptions

* passed in.

*

* @param string $environment

* @param string|array|Zend_Config $options String path to configuration file, or array/Zend_Config of configuration options

* @throws Zend_Application_Exception When invalid options are provided

* @return void

*/

public function __construct($environment, $options = null)

{

if (is_array($options) && isset($options['configFile'])) {

$this->_cacheConfig = true;

// First, let's check to see if there are any cache options

if (isset($options['cacheOptions']))

$this->_cacheOptions =

array_merge($this->_cacheOptions, $options['cacheOptions']);

$options = $options['configFile'];

}

parent::__construct($environment, $options);

}

/**

* Load configuration file of options.

*

* Optionally will cache the configuration.

*

* @param string $file

* @throws Zend_Application_Exception When invalid configuration file is provided

* @return array

*/

protected function _loadConfig($file)

{

if (!$this->_cacheConfig)

return parent::_loadConfig($file);

require_once 'Zend/Cache.php';

$cache = Zend_Cache::factory(

$this->_cacheOptions['frontendType'],

$this->_cacheOptions['backendType'],

array_merge(array( // Frontend Default Options

'master_file' => $file,

'automatic_serialization' => true

), $this->_cacheOptions['frontendOptions']),

array_merge(array( // Backend Default Options

'cache_dir' => APPLICATION_PATH . '/data/cache'

), $this->_cacheOptions['backendOptions'])

);

$config = $cache->load('Zend_Application_Config');

if (!$config) {

$config = parent::_loadConfig($file);

$cache->save($config, 'Zend_Application_Config');

}

return $config;

}

}

我将index.php(在公共根目录中)更改为:

// Define path to application directory

defined('APPLICATION_PATH')

|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../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(),

)));

/** My_Application */

require_once 'My/Application.php';

// Create application, bootstrap, and run

$application = new My_Application(

APPLICATION_ENV,

array(

'configFile' => APPLICATION_PATH . '/configs/application.ini'

)

);

$application->bootstrap()

->run();

重新加载页面,您会看到缓存的ini文件.祝好运.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值