我在symfony2上建立一个应用程序并需要一个新的twig过滤器:
我在我的包中创建了一个文件夹Twig,并在那里创建了这个文件AppExtension.php:
namespace App\MyBundle\Twig;
use Twig_Extension;
use Twig_Filter_Method;
class AppExtension extends \Twig_Extension
{
public function getFilters()
{
return array(
'left' => new \Twig_Filter_Method($this, 'leftFilter'),
);
}
public function leftFilter($string, $start = 0, $length = 1)
{
$left = substr($string, $start, $length);
return $left;
}
public function getName()
{
return 'app_extension';
}
}
然后我在services.yml中声明了它:
app.twig.app_extension:
class: App\MyBundle\Twig\AppExtension
tags:
- { name: twig.extension }
但是我得到了这个RuntimeException:
自动加载器预期类“App \ MyBundle \ Twig \ AppExtension”将在文件“... / src / \ App \ MyBundle \ Twig \ AppExtension.php”中定义。找到了该文件,但该类不在其中,类名或命名空间可能有拼写错误。
有人可以告诉我在这里错过了什么吗?
答案 0 :(得分:1)
使用<php?
代替<?
。
这将解决问题。