因为项目需求,每次需要拷贝相同的代码结构,很是繁琐,所以自己就想想自己扩展laravel make命令,实现创建自定义模型类
直接在代码里搜索make:command ,查找关于laravel make相关的模块,找到\vendor\laravel\framework\src\Illuminate\Foundation\Console\ConsoleMakeCommand.php
简单粗暴的直接拷贝它到我们的 \app\Console\Commands\
目录,并命名为PaymentMakeCommand.php
修改
1 | /** |
然后再往下看还有个 getStub
方法,我们继续拷贝console.stub
到我们的\app\Console\Commands\stubs
目录,改名为payment.stub
1 | /** |
我们自定义一下我们的payment.stub
,按照需求改就好
1 | namespace App\Payment\PaymentClass; |
然后我们回到PaymentMakeCommand.php
,修改replaceClass
方法
1 | protected function replaceClass($stub, $name) |
修改默认命名空间,改成我们自定义的
1 | protected function getDefaultNamespace($rootNamespace) |
将命令注册到app\Console\Kernel.php
$commands
数组里
1 | protected $commands = [ |
laravel 5.6不注册也可以识别
我们使用 make:payment
就可以创建自定义的模型了
1 | $ php artisan make:payment WechatPay |