Я пытаюсь получить доступ к кешу из командного файла в Symfony 1.4.
//lib/batch/test.php
require_once(dirname(__FILE__).'/../../config/ProjectConfiguration.class.php');
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'dev', true);
// first try
$filecache = new sfFileCache(array(
'cache_dir' => sfConfig::get('sf_template_cache_dir'),
'automatic_cleaning_factor' => 0,
'prefix' => '/Library/WebServer/Documents/mywebsite/apps/frontend/template'));
$cache = new sfViewCacheManager(sfContext::createInstance($configuration), $filecache);
//always false
var_dump($cache->has('chart/index'));
//second try
$class = sfConfig::get('sf_factory_view_cache', 'sfFileCache');
$filecache = new $class(sfConfig::get('sf_factory_view_cache_parameters', array (
'automatic_cleaning_factor' => 0,
'cache_dir' => '/Library/WebServer/Documents/mywebsite/cache/frontend/dev/template',
'lifetime' => 86400,
'prefix' => '/Library/WebServer/Documents/mywebsite/apps/frontend/template',
)));
$cache = new sfViewCacheManager(sfContext::createInstance($configuration), $filecache, array (
'cache_key_use_vary_headers' => true,
'cache_key_use_host_name' => true,
));
//always false
var_dump($cache->has('chart/index'));
В результате происходит другой доступ к кешу модулем / действием (в той же среде разработки)
public function executeTest()
{
$cache = $this->getContext()->getViewCacheManager();
//always true
var_dump($cache->has('chart/index'));
return sfView::NONE;
}
Я сравнил 2 объекта кеша (пакет / модуль / действие), и они абсолютно одинаковы ...
Есть идеи?
Большое спасибо!