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
选项。我需要检查那个条件,如果这是为了让管理员做出不同的输出。
谢谢
据我所知,该值目前不可用,与控制器任务不同,模板任务不会将前缀传递给视图,请参阅
- https://github.com/cakephp/bake/blob/1.2.3/src/Shell/Task/TemplateTask.php#L301-L312
- https://github.com/cakephp/bake/blob/1.2.3/src/Shell/Task/ControllerTask.php#L138
这是您可以发出的功能请求 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
可用。
另见
在 Cakephp 中 3.x 烘烤时,例如管理员模板 I 运行.
bin/cake bake template Posts --prefix admin
这工作正常并且文件生成成功,但是我如何在 bake' 模板中检查是否设置了 prefix
选项。我需要检查那个条件,如果这是为了让管理员做出不同的输出。
谢谢
据我所知,该值目前不可用,与控制器任务不同,模板任务不会将前缀传递给视图,请参阅
- https://github.com/cakephp/bake/blob/1.2.3/src/Shell/Task/TemplateTask.php#L301-L312
- https://github.com/cakephp/bake/blob/1.2.3/src/Shell/Task/ControllerTask.php#L138
这是您可以发出的功能请求 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
可用。
另见