Laravel框架:通过自定义命令创建service服务层初体验

  • 新建命令

php artisan make:command AddService

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

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

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

<?phpnamespace DummyNamespace;class DummyClass {}
  • 编辑AddService.php并添加内容
    将AddService.php内容清空,并使用以下内容完全替换。

<?phpnamespace App\Console\Commands;use Illuminate\Console\GeneratorCommand;class AddServices 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 = [] 属性数组中,使命令生效。

\App\Console\Commands\AddServices::class

具体形式为:

protected $commands = [
    //
    \App\Console\Commands\AddServices::class];

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

  • 执行如下命令进行测试

php artisan make:service TeachersService

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

(0)

相关推荐

  • Oracle错误

    起源 今天跟往常一样,登陆PL/SQL,确登陆失败,出现一个错误"ORA-01034"和"ORA-27101"如图: 然后就就通过命令提示符去登陆Oracle, ...

  • 华为S5700三层交换机基本配置

    **华为S5700三层交换机基本配置 leao6660人评论3581人阅读2015-03-24 15:37:23 通过Console口登录交换机 通过Console口登录主要用于交换机第一次上电或者本 ...

  • PWA技术及其用户体验设计

    -服务器端渲染(SSR) 意味着网站每次都是在服务器上渲染,因此它提供了更快的首次加载,但是在页面之间跳转需要每次都下载所有内容,因而它的加载速度往往会比较慢.   -客户端渲染(CSR) 页面是在客 ...

  • thinkphp5.0 创建自定义命令行

    在模块目录下面创建一个command目录文件夹,在此文件夹下创建一个php文件,这里我创建的是Crond.php 在Crond.php中编写代码 namespace app\index\command ...

  • laravel框架简介

    一.简单介绍 1.laravel是基于mvc模式的php框架,m--模型层,v--视图层,c--控制器层:以下为laravel框架的目录文件,框出来的文件目录将在后续中用到: 2.什么是MVC的开发思 ...

  • 使用Composer安装laravel框架 详细步骤和方法

    使用Composer安装laravel框架 详细步骤和方法

  • useradd命令创建用户相关知识-linux运维命令

    useradd命令可用于创建新的用户或者更改用户的信息.创建新的用户或更改用户信息是里Linux系统运维会遇到的工作内容,那么就要求运维人员对基础命令的掌握.学习Linux基础命令对于Linux运维技 ...

  • 快速安装laravel框架的IDE提示工具

    快速安装laravel框架的IDE提示工具 使用以下命令将此包与composer一起使用: composer require –dev barryvdh/laravel-ide-helper 更新co ...

  • 通过几道CTF题学习Laravel框架

    安装:其中--prefer-dist表示优先下载zip压缩包方式 composer create-project --prefer-dist laravel/laravel=5.8.* laravel ...

  •  EasyWeChat在laravel框架中的使用技巧

    EasyWeChat在laravel框架中的使用技巧 laravel框架实战: EasyWeChat 文章目录 EasyWeChat公众号配置 报错:Failed to cache access to ...

  • (36条消息) EasyWeChat在laravel框架中的使用技巧

    EasyWeChat在laravel框架中的使用技巧 laravel框架实战: EasyWeChat 文章目录 EasyWeChat公众号配置 报错:Failed to cache access to ...

  • cliff-用于使用多级命令创建命令行程序的python库

    cliff框架旨在用于创建多级命令,例如subversion和git,其中主程序处理一些基本参数解析,然后调用子命令来完成工作. Cliff充分利用了Python动态加载代码的能力,以允许独立于主程序 ...