artisan command 小技巧
我遇到了 command 创建 model 的问题#
我猜使用 laravel 开发的同学和我差不多应该都有一个强迫症,就是 php artisan make:model Topic 后,会把 app 下的模型移动到自己的 models 下面,或是 php artisan make:model App\Http\Models\Topic.
不管是哪种方式都让人感觉没有优雅开发啊,我遇到类似问题一贯是先看文档,看了文档不行,再看源码。
先是找源码的关键字,
好了,然后现在用世界上最好的 ide,找到了
嗯,然后发现然并卵。好,我打游戏去了,告辞,,,
当然不可能啦。仔细看这个类,还有个父类,那就点击进去看看吧。 好,找到了关键函数.
如何重写 command#
注意的是肯定不能在这里改,因为这是 vendor 下的代码。切记 vendor 中的任何东西都不能改!!我认为现在的方法是重写 command 的方法,先执行
php artisan make:command ModelMakeCommand
然后把它的父类改掉,
接下来就可以重写 getDefaultNamespace 方法了
然后在 app/Console/Kernel.php 文件的 $commands 属性中手动注册命令的类名
喜欢放在哪里就看你自己咯,即使你的文件夹还不存在,command 也会帮你新建出来的,好了,那就让我们来试一试.
成功!又能优雅的用命令行创建 model 了
一点建议#
不要改 vendor 里面的任何代码
最好把这个修改记录在你的 README 里面
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: