如何在Makefile命令中传递controller名称参数实现自动创建
Makefile 传递自定义参数的实现方案
完全可以实现你需要的效果,Makefile 原生支持读取命令执行时传入的自定义变量,你可以轻松封装出类似 Symfony CLI 的快捷操作命令。
1. Makefile 示例代码
# 可选:定义兜底默认值,不传参数时将自动创建该名称控制器 DEFAULT_CONTROLLER ?= DefaultController # 创建控制器的封装命令 make-controller: @symfony console make:controller "$(filter-out $@,$(MAKECMDGOALS))" # 避免传入的参数被 Make 识别为目标文件抛出异常 %: @:
如果你习惯显式传变量的写法,也可以替换为下面的版本:
make-controller: @symfony console make:controller "$(name)"
2. 命令使用方法
- 直接跟参数的写法:执行
make make-controller UserController即可创建对应名称的控制器 - 显式传变量的写法:执行
make make-controller name=ArticleController即可完成创建
注意事项
- 如果参数包含路径、空格等特殊字符,需要用引号包裹参数,例如
make make-controller "Admin/OrderController" - 如果不需要兼容无参数调用,可以删除开头的默认值定义
内容的提问来源于stack exchange,提问作者Gwendal Bescont
相关产品推荐
相关产品推荐

