我正在 Symfony 4 中編寫一個 Twig 函數,但我無法讓它工作......擴展類<?phpnamespace App\Twig;use App\Utils\XXX;use Twig\Extension\AbstractExtension;use Twig\TwigFunction;class XXXExtension extends AbstractExtension{ /** * @return array|TwigFunction|TwigFunction[] */ public function getFunctions() { return new TwigFunction('showControllerName', [$this, 'showControllerName']); } public function showControllerName($sControllerPath) { return XXX::getControllerName($sControllerPath); }}我在services.yaml中將autowire設置為true ,但以防萬一我也嘗試過: App\Twig\XXXExtension: public: true tags: - { name: twig.extension }html.twig 中的用法{% set controllerName = showControllerName(app.request.get('_controller')) %}我得到的回應是:HTTP 500 Internal Server ErrorUnknown "showControllerName" function.
1 回答

幕布斯6054654
TA貢獻1876條經驗 獲得超7個贊
你需要返回一個函數數組,你只返回一個。
...
public function getFunctions()
{
return [
new TwigFunction('showControllerName', [$this, 'showControllerName']),
];
}
...
- 1 回答
- 0 關注
- 150 瀏覽
添加回答
舉報
0/150
提交
取消