参考此文章 https://www.cnblogs.com/houss/p/11382081.html
创建命令文件
php artisan make:command ServiceMakeCommand
继承 GeneratorCommand 类,实现 getStub() 方法
/**
* Get the stub file for the generator.
*
* @return string
*/
protected function getStub()
{
return __DIR__ . '/stubs/service.stub';
}
修改 $signature 和 $description 变量
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'make:service {name}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Create a service';
重写 getDefaultNamespace() 方法
/**
* Get the default namespace for the class.
*
* @param string $rootNamespace
* @return string
*/
protected function getDefaultNamespace($rootNamespace)
{
return $rootNamespace . '\Services';
}
在 Commands 下创建 stubs 文件夹以及 service.stub 文件
编写 stub 文件创建模板
<?php
namespace DummyNamespace;
class DummyClass
{
}
使用命令行创建文件会自动替换模板
php artisan make:service Service.php
<?php
namespace App\Services;
class Service
{
}