gpt4 book ai didi

php - Symfony2 Twig 扩展

转载 作者:行者123 更新时间:2023-12-03 01:44:17 25 4
gpt4 key购买 nike

我在实现 Twig 扩展时遇到一些问题。我需要创建自己的过滤器(子过滤器)。所以我想到了使用twig扩展。

我在 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"

这很奇怪,因为文件和类存在......我错过了一些东西,但是什么?

最佳答案

替换这个

namespace Bundle\WebsiteBundle\Extension;

按此

namespace MyApp\Bundle\WebsiteBundle\Extension;

您需要什么目录Bundle/WebsiteBundle
Bundle 还不够吗?

您可以在这里看到我如何实现这个 https://github.com/azat/blog/blob/master/src/Blog/WebBundle/Twig/Extension/WebExtension.php

关于php - Symfony2 Twig 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5991925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com