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 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 6

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

6年前 评论

挺好,我一般输

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

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

6年前 评论

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

6年前 评论

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

6年前 评论

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