You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CakePHP4.2.x执行bake生成代码时Twig报Class 'templates'未找到错误

CakePHP 4.2.x 执行bake时Twig报Class "templates" not found的解决方案

错误诱因

  • 版本不兼容:你安装的cakephp/twig-view版本与CakePHP 4.2.x、Twig 3.x的适配规则冲突。Twig 3.x调整了模板编译后的父类命名逻辑,旧版twig-view会错误将编译生成的模板类父类写为templates,而非正确的Twig\Template类。
  • 配置错误:全局Twig配置中错误修改了template_base_class参数,或者bake渲染时错误加载了站点前端的自定义Twig配置,覆盖了bake自带的渲染规则。

修复方案

临时快速解决(优先推荐)

bake本身不需要依赖Twig渲染,直接指定bake用原生PHP视图即可,不影响项目前端使用Twig:

  1. 打开项目config/app_local.php文件,添加如下配置:
return [
    // 其他现有配置保留
    'Bake' => [
        'viewClass' => \Cake\View\View::class,
    ],
];
  1. 重新执行之前的bake命令,即可正常生成模型、控制器等代码,生成完成后不需要修改该配置也不影响项目正常运行。

永久兼容修复

  1. 执行composer命令升级twig-view到适配CakePHP 4.2的最新稳定版:
    composer update cakephp/twig-view
  2. 检查你的Twig自定义配置,确认没有修改template_base_class参数,如果有修改,将值改为Twig\Template::class即可。

内容的提问来源于stack exchange,提问作者chriss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 00:21:02