Laravel 自定命令以及生成文件

以创建service层为例子

1.执行命令

php artisan make:command ServiceMakeCommand

2.在app\Console\Commands 下就会多出一个 ServiceMakeCommand.php 文件 ,更改其内容为一下内容(注意: 1.继承了GeneratorCommand类, 2.  protected $signature = 'make:service {name}'; 中{name}必须要有

<?php

namespace App\Console\Commands;

use Illuminate\Console\GeneratorCommand;

class ServiceMakeCommand extends GeneratorCommand
{
    /**
     * 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';
    /**
     * 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';
    }
}

3.创建模版

在 app\Console\Commands\ 下创建stubs文件夹 ,并创建文件service.stub,其内容为

<?php

namespace DummyNamespace;

class DummyClass
{
    public function __construct()
    {
        parent::__construct();
    }
}

4.现在就已经完成了,运行 php artisan list,就可以看到

执行 php artisan make:service BaseService 就有BaseService.php 文件了

 

posted @ 2019-08-20 11:53  侯蜀黍  阅读(1651)  评论(0编辑  收藏  举报