我已经为CakePHP创建了一个插件,我希望在/app/Plugin/MyPlugin/tmp/cache
的自己的插件文件夹中生成缓存文件。
我已手动取消MyPlugin/tmp/cache
目录。
我在/app/Plugin/MyPlugin/Config/bootstrap.php
创建了一个引导程序文件,其中包含以下内容:
<?php
Cache::config('short', array(
'engine' => 'File',
'duration' => '+60 minutes',
'path' => 'Plugin/MyPlugin/tmp/cache',
'prefix' => 'cake_short_',
'mask' => 0666,
));
我在/app/Plugin/MyPlugin/Console/Command/MyPluginShell.php
创建了一个 Shell 脚本,其功能如下:
<?php
...
public function get_listings() {
$listings = $this->Listing->find('all');
Cache::write('listings', $listings, 'short');
$this->out('Task Completed');
}
我可以在Cake控制台中运行get_listings
并且任务完成,但是/app/Plugin/MyPlugin/tmp/cache
没有像我期望的那样创建缓存文件。
在旁注中,我尝试将'path' => 'Plugin/MyPlugin/tmp/cache'
替换为'path' => CACHE
只是为了查看它是否会出现在app/tmp/cache
但是没有运气。
我还在插件中创建了/app/Plugin/MyPlugin/tmp/cache
。
任何帮助都将不胜感激。
答案 0 :(得分:0)
我明白了。
我没有在app/Config/bootstrap.php
内正确加载插件。
我这样做(不正确):
CakePlugin::load('MyPlugin', array('routes' => true));
而不是这个(正确):
CakePlugin::load('MyPlugin', array('routes' => true, 'bootstrap' => true));