【发布时间】:2023-03-23 08:45:01
【问题描述】:
我在实现树枝扩展时遇到了一些问题。我需要创建自己的过滤器(一个 substr 过滤器)。所以我想到了使用树枝扩展。
我在 MyApp\Bundle\WebsiteBundle\ 和文件上创建了一个名为“Extension”的文件夹: 网站扩展.php
namespace Bundle\WebsiteBundle\Extension;
class WebsiteExtension extends \Twig_Extension {
public function getFilters() {
return array(
'substr' => new \Twig_Filter_Method($this, 'substrFilter'),
);
}
public function substrFilter($sentence, $start, $end) {
return substr($sentence, $start, $end);
}
public function getName()
{
return 'website_extension';
}
}
然后在 /app/config 上的 config.yml 上
services:
Website.twig.extension:
class: MyApp\Bundle\WebsiteBundle\Extension\WebsiteExtension
tags:
- { name: twig.extension }
但发生错误:
"Fatal error: Class 'MyApp\Bundle\WebsiteBundle\Extension\WebsiteExtension' not found in .../appDevDebugProjectContainer.php on line 1391"
这很奇怪,因为文件和类存在......我错过了什么但是什么?
【问题讨论】:
-
您是否将 MyApp 命名空间添加到 autoload.php 中?
-
@igorw 我有'MyApp' => DIR.'/../src',够了吗?
标签: php templates symfony twig