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 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 6

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

5年前 评论

挺好,我一般输

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

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

5年前 评论

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

5年前 评论

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

5年前 评论

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