Laravel自定义command命令

作者: 缘来是你ylh | 来源:发表于2019-03-21 03:17 被阅读4次

用过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目录不存在时会自动创建

相关文章

网友评论

    本文标题:Laravel自定义command命令

    本文链接:https://www.haomeiwen.com/subject/zfnmmqtx.html