zoukankan      html  css  js  c++  java
  • Laravel框架:通过自定义命令创建service服务层文件

    新建命令(自定义命令)
    建议使用git或编辑器命令行模式在项目根目录操作。

    新建命令

    php artisan make:command AddService


    执行该命令,将会在appConsole目录下生成Commands目录,同时在 appConsoleCommands 目录下生成 AddService.php 文件。

    创建存根目录及文件
    在appConsoleCommands目录下创建Stubs目录,可以直接右键新建文件夹,或使用命令行 mkdir appConsoleCommandsStubs 在该目录下添加名为 services.stub 的文件,完整路径为app/Console/Commands/Stubs/service.stub

    编辑services.stub并添加内容
    将如下内容添加到services.stub文件中并保存。

    <?php
    
    namespace DummyNamespace;
    
    class DummyClass 
    {
    
    }


    编辑AddService.php并添加内容
    将AddService.php内容清空,并使用以下内容完全替换。

    <?php
    
    namespace AppConsoleCommands;
    
    use IlluminateConsoleGeneratorCommand;
    
    class AddService extends GeneratorCommand
    {
    /**
    * 控制台命令名称
    *
    * @var string
    */
    protected $name = 'make:service';
    /**
    * 控制台命令描述
    *
    * @var string
    */
    protected $description = 'Create a new service class';
    /**
    * 生成类的类型
    *
    * @var string
    */
    protected $type = 'Services';
    /**
    * 获取生成器的存根文件
    *
    * @return string
    */
    protected function getStub()
    {
    return __DIR__.'/Stubs/services.stub';
    }
    
    /**
    * 获取类的默认命名空间
    *
    * @param string $rootNamespace
    * @return string
    */
    
    protected function getDefaultNamespace($rootNamespace)
    {
    return $rootNamespace.'Services';
    }
    }
    

      

    注册命令
    将以下内容添加到Kernel.php文件的 protected $commands = [] 属性数组中,使命令生效。

    AppConsoleCommandsAddServices::class
    具体形式为:

    protected $commands = [
    //
    AppConsoleCommandsAddService::class
    ];



    测试命令(自定义命令)
    到这里,自定义命令已经可以使用了,执行 php artisan list 可以看到有 make:service 该命令支持。

    执行如下命令进行测试

    php artisan make:service TeachersService



    在app目录下看到有Services目录生成,同时该目录下会生成TeachersService.php文件,详细路径为appServicesTeachersService.php

  • 相关阅读:
    CAS单点登录(一)——初识SSO
    Sql Server 增加字段、修改字段、修改类型、修改默认值
    SQL 聚合函数-非聚合函数
    漫画:什么是中台?
    windows下nginx的安装及使用
    sql优化点
    如何处理sql中的关键字(例如',%)
    Mysql 如何创建一张临时表
    MySQL中information_schema是什么
    mysql查看表结构命令,如下:
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/12510240.html
Copyright © 2011-2022 走看看