Cakephp 3.x bake - 在模板中获取 cli 选项

Cakephp 3.x bake - get cli options inside templates

在 Cakephp 中 3.x 烘烤时,例如管理员模板 I 运行.

 bin/cake bake template Posts --prefix admin

这工作正常并且文件生成成功,但是我如何在 bake' 模板中检查是否设置了 prefix 选项。我需要检查那个条件,如果这是为了让管理员做出不同的输出。

谢谢

据我所知,该值目前不可用,与控制器任务不同,模板任务不会将前缀传递给视图,请参阅

这是您可以发出的功能请求 over at GitHub,或者您甚至可以自己推送 PR。

如果你迫不及待地想要实现它,你可以创建自己的扩展烘焙命令,即扩展模板任务,覆盖TemplateTask::_loadController(),并添加前缀(TemplateTask::_getPrefix())到返回的数组,类似于

<?php
namespace App\Shell\Task;

use Bake\Shell\Task\TemplateTask;

class MyTemplateTask extends TemplateTask
{
    protected function _loadController()
    {
        return parent::_loadController() + [
            'prefix' => $this->_getPrefix()
        ];
    }
}

然后该值应该在您的烘焙模板中作为 $prefix 可用。

另见