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 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

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

4年前 评论

挺好,我一般输

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

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

4年前 评论

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

4年前 评论

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

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!