Доступ к кешу из командного файла в Symfony 1.4 - PullRequest
1 голос
/ 13 января 2012

Я пытаюсь получить доступ к кешу из командного файла в 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 объекта кеша (пакет / модуль / действие), и они абсолютно одинаковы ...

Есть идеи?

Большое спасибо!

...