前言
我们在 laravel
开发时经常用到 artisan make
等命令来新建 Controller
、Model
、Job
、Event
等类文件。 在 Laravel5.2
中 artisan make
命令支持创建如下文件:
不过,有时候默认的并不能够满足我们的需求, 比方我们在项目中使用的 Respository 模式来进一步封装了 Model 文件,就需要经常创建 Repository 类文件了,时间长了就会想能不能通过 artisan make:repository
命令自动创建类文件而不是都每次手动创建。
系统自带的 artisan make 命令对应的 PHP 程序放在 Illuminate\Foundation\Console
目录下,我们参照 Illuminate\Foundation\Console\ProviderMakeCommand
类来定义自己的 artisan make:repository
命令。
创建命令类
在 app\Console\Commands
文件夹下创建 RepositoryMakeCommand.php 文件,具体程序如下:
创建命令类对应的模版文件
在 app\Console\Commands\stubs
下创建模版文件 .stub
文件是 make 命令生成的类文件的模版,用来定义要生成的类文件的通用部分
创建 repository.stub
模版文件:
注册命令类
将 RepositoryMakeCommand 添加到 App\Console\Kernel.php
中
使用命令
好了, 现在就可以通过 make:repository 命令来创建 repository 类文件了
https://learnku.com/articles/13677/laravel-creates-a-custom-artisan-make-command