Laravel 中通过自定义命令创建 service 服务层文件
Posted 啥也不会的程序猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 中通过自定义命令创建 service 服务层文件相关的知识,希望对你有一定的参考价值。
1 新建命令
1、新添加命令
php artisan make:command MakeService
# 执行该命令,将会在appConsole目录下生成Commands目录;
# 同时在 appConsoleCommands 目录下生成 MakeService.php 文件;
2、创建存根目录及文件
# 在 appConsoleCommands目录下创建 Stubs目录;可以直接右键新建文件夹,
mkdir app/Console/Commands/Stubs
# 在该目录下添加名为 services.stub 的文件,
touch app/Console/Commands/Stubs/services.stub
# 完整路径为 app/Console/Commands/Stubs/service.stub
3、编辑文件 services.stub
<?php
namespace DummyNamespace;
class DummyClass
{
}
4、编辑文件 MakeService.php 使用以下内容完全替换。
<?php
namespace AppConsoleCommands;
use IlluminateConsoleGeneratorCommand;
class MakeService 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‘;
}
}
2 注册命令
# 编辑 kernel.php 文件中的 protected $commands = [] 属性数组;
# 注册服务使命令生效。
// 记得使用类
// use AppConsoleCommandsMakeService;
protected $commands = [
// 创建服务层
MakeService::class
]
3 测试命令
# 查看所有的可执行命令
php artisan list
# 测试是否可以创建成功
php artisan make:service TestService
以上是关于Laravel 中通过自定义命令创建 service 服务层文件的主要内容,如果未能解决你的问题,请参考以下文章
从 UINavigationController 中通过自定义转换关闭 UIViewController 时出现黑屏
如何从我的 C# 代码中通过自定义 url 方案访问传递到我的应用程序的值?
如何允许在 Django 管理员中通过自定义 list_display 字段进行排序,该字段没有 DB 字段,也没有可注释