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

本文介绍如何在Laravel框架中通过自定义命令创建Service服务层,包括新建命令、创建存根目录及文件、编辑内容及注册命令等步骤,最后测试自定义命令的有效性。

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

#yuxiangShi/学习/php/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文件中并保存。

<?php

namespace DummyNamespace;

class DummyClass 
{

}

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

namespace 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

在这里插入图片描述

雨夜的博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨夜的博客

大赏给个咖啡钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值