use*_*327 8 php caching cakephp
我将CacheHelper添加到了我的应用程序中.在我的APP/Config/core.php中我有
Configure::write('Cache.check', true);
Run Code Online (Sandbox Code Playgroud)
在APP/Config/bootstrap.php中我有
Configure::write('Dispatcher.filters', array(
'AssetDispatcher',
'CacheDispatcher'
));
Run Code Online (Sandbox Code Playgroud)
在我的控制器中我有:
public $helpers = array('Text', 'Cache');
public $cacheAction = "1 hour";
Run Code Online (Sandbox Code Playgroud)
我没有直接在这个控制器或AppController中回调.问题是每个页面只加载一次(例如 - 清除缓存后).在第二次请求我回来了
Fatal Error
Error: Class 'AppController' not found
Run Code Online (Sandbox Code Playgroud)
如果关闭缓存一切正常.
CakePHP版本是2.2.3
调试日志:
2012-12-24 12:21:00 Error: Fatal Error (1): Class 'AppController' not found in [/Volumes/../app/Controller/NewsController.php, line 2]
2012-12-24 12:21:00 Error: [FatalErrorException] Class 'AppController' not found
#0 /Volumes/../lib/Cake/Error/ErrorHandler.php(161): ErrorHandler::handleFatalError(1, 'Class 'AppContr...', '/Volumes/Data/D...', 2)
#1 [internal function]: ErrorHandler::handleError(1, 'Class 'AppContr...', '/Volumes/../D...', 2, Array)
#2 /Volumes/../lib/Cake/Core/App.php(926): call_user_func('ErrorHandler::h...', 1, 'Class 'AppContr...', '/Volumes/../D...', 2, Array)
#3 /Volumes/../lib/Cake/Core/App.php(899): App::_checkFatalError()
#4 [internal function]: App::shutdown()
#5 {main}
Run Code Online (Sandbox Code Playgroud)
NewsController:
<?php
class NewsController extends AppController {
public $components = array('Security', 'ImageTool', 'Uploader');
public $paginate = array(
'fields' => array('News.id', 'News.created'),
'limit' => 5,
'contain' => array(),
'order' => array('News.id' => 'DESC'));
public $helpers = array('Text', 'Cache');
public $cacheAction = "1 hour";
Run Code Online (Sandbox Code Playgroud)
use*_*327 19
获胜者是...... App :: uses('AppController','Controller'); 在控制器代码的顶部.
App::uses('AppController', 'Controller');
class NewsController extends AppController {
public $helpers = array('Cache');
public $cacheAction = array(
'index' => 48000
);
public function index() {
}
public function clear() {
clearCache();
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么这还没有包含在食谱中.