在我的项目中,我使用下面的代码将一些命名资产添加到资产中,其中一个使用 lessphp 过滤器。
public function prepend(ContainerBuilder $container)
{
$configs = $container->getExtensionConfig($this->getAlias());
$config = $this->processConfiguration(new Configuration(), $configs);
$this->configureAsseticBundle($container, $config);
}
protected function configureAsseticBundle(ContainerBuilder $container, array $config)
{
foreach (array_keys($container->getExtensions()) as $name) {
switch ($name) {
case 'assetic':
$container->prependExtensionConfig(
$name,
array(
'assets' => array(
'some_less' => array(
'inputs' => array(
'@SomeBundle/Resources/public/less/some.less'
),
'filters' => array('lessphp'),
),
)
)
);
break;
}
}
}
当我使用assetic:dump 转储资产时,生产环境中一切正常,但在开发环境中,此命名资产的lessphp 过滤器仅在刷新几次页面后才起作用,并且在一段时间后它不再起作用,我需要删除所有缓存。删除缓存后,它再次正常工作......几分钟......
我还注意到,当我编辑任何捆绑扩展类 (DependencyInjection/[BundleName]Extension.php) 时,它会停止工作。
有谁知道我做错了什么?