欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Laravel怎么自定义command命令

程序员文章站 2022-04-14 15:25:25
...

Laravel自定义command命令的方法:首先创建command类;然后在“stubs”文件下创建自定义模板文件;最后通过“php artisan make:service Web/TestService”运行测试即可。

Laravel怎么自定义command命令

Laravel自定义command命令

用过Laravel的都知道,Laravel通过php artisan make:controller可以生成控制器,同样的也可以用命令生成中间介和模型,那怎么自定义生成文件呢?

1.创建command类

<?php
namespace App\Console\Commands;
use Illuminate\Console\GeneratorCommand;
class ServiceMakeCommand extends GeneratorCommand
{
    /**
     * The console command name.
     *
     * @var string
     */
    protected $name = 'make:service';
    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Create a new service class';
    /**
     * The type of class being generated.
     *
     * @var string
     */
    protected $type = 'Services';
    /**
     * Get the stub file for the generator.
     *
     * @return string
     */
    protected function getStub()
    {
        return __DIR__.'/stubs/service.stub';
    }
    /**
     * Get the default namespace for the class.
     *
     * @param  string  $rootNamespace
     * @return string
     */
    protected function getDefaultNamespace($rootNamespace)
    {
        return $rootNamespace."\Services";
    }
}

2.在Commands/stubs文件下创建自定义模板文件

<?php
namespace DummyNamespace;
class DummyClass 
{
    public function __construct()
    {
    }
}

创建了一个只有构造函数的类,具体模板可以自己定义

运行测试

php artisan make:service Web/TestService

这个时候Services文件下的Web目录下会生成TestService文件,Web目录不存在时会自动创建

相关标签: php laravel