artisan command 小技巧

我遇到了 command 创建 model 的问题#

我猜使用 laravel 开发的同学和我差不多应该都有一个强迫症,就是 php artisan make:model Topic 后,会把 app 下的模型移动到自己的 models 下面,或是 php artisan make:model App\Http\Models\Topic.
不管是哪种方式都让人感觉没有优雅开发啊,我遇到类似问题一贯是先看文档,看了文档不行,再看源码。

先是找源码的关键字,


artisan command 小技巧

好了,然后现在用世界上最好的 ide,找到了

artisan command的另一个用法

嗯,然后发现然并卵。好,我打游戏去了,告辞,,,

artisan command 小技巧

当然不可能啦。仔细看这个类,还有个父类,那就点击进去看看吧。 好,找到了关键函数.
artisan command的另一个用法

如何重写 command#

注意的是肯定不能在这里改,因为这是 vendor 下的代码。切记 vendor 中的任何东西都不能改!!我认为现在的方法是重写 command 的方法,先执行

php artisan make:command ModelMakeCommand 

artisan command 小技巧

然后把它的父类改掉,

artisan command 小技巧

接下来就可以重写 getDefaultNamespace 方法了

artisan command 小技巧

然后在 app/Console/Kernel.php 文件的 $commands 属性中手动注册命令的类名

artisan command 小技巧

喜欢放在哪里就看你自己咯,即使你的文件夹还不存在,command 也会帮你新建出来的,好了,那就让我们来试一试.

artisan command 小技巧

artisan command 小技巧

artisan command 小技巧

成功!又能优雅的用命令行创建 model 了

一点建议#

不要改 vendor 里面的任何代码
最好把这个修改记录在你的 README 里面

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

这么强的 IDE 还可以配一个 Command Line Tool Support ,输入命令飞起来 :smirk:

6年前 评论

挺好,我一般输

art make:model Models\Topic
6年前 评论

@ivothgle jet-brains 系列太好用了,反正我内存多,哈哈

6年前 评论

@varro 之前我也是这样,后来回头来检查项目的时候就在想找一个简单的办法

6年前 评论

看到中间 告辞的时候,我已经准备关页面了。 :joy:

6年前 评论