全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

php之laravel中自定义模板命令

在 Laravel 中可通过 Artisan 创建自定义命令(如 make:service)生成符合团队规范的代码结构,需定义签名、描述、模板逻辑及注册命令。

在 Laravel 中,可以通过 Artisan 命令行工具创建自定义模板命令,快速生成项目中常用的代码结构(如 Model、Service、Repository 等)。虽然 Laravel 提供了默认的 make 命令,但我们可以自定义模板和命令来适配团队开发规范。

创建自定义 Artisan 命令

使用内置命令生成一个命令类:

php artisan make:command MakeServiceCommand

该命令会在 app/Console/Commands 目录下创建 MakeServiceCommand.php 文件。

定义命令签名与描述

打开刚创建的命令文件,设置 signaturedescription

protected $signature = 'make:service {name}';
protected $description = 'Create a new service class';

这里 {name} 是参数,表示服务类名称。

编写模板逻辑

handle() 方法中实现文件生成逻辑:

  • 读取自定义模板文件内容
  • 替换占位符(如类名)
  • 写入目标文件

示例代码:

public function handle()
{
    $name = $this->argument('name');
    $path = app_path("Services/{$name}.php");

    if (file_exists($path)) {
        $this->error("Service {$name} already exists!");
        return false;
    }

    $this->makeDirectory($path);

    file_put_contents($path, $this->buildClass($name));

    $this->info("Service {$name} created successfully.");
}

protected function buildClass($name)
{
    $stub = file_get_contents(app_path('Console/Stubs/service.stub'));
    return str_replace(['{{class}}'], [$name], $stub);
}

protected function makeDirectory($path)
{
    if (! is_dir(dirname($path))) {
        mkdir(dirname($path), 0755, true);
    }
}

准备模板文件

app/Console/Stubs/ 创建 service.stub 模板文件:


运行命令时,{{class}} 会被实际类名替换。

注册命令

将命令添加到 app/Console/Kernel.php$commands 数组中:

protected $commands = [
    \App\Console\Commands\MakeServiceCommand::class,
];

执行自定义命令:

php artisan make:service UserService

将在 app/Services/UserService.php 生成对应类。

基本上就这些。通过这种方式可以扩展出 make:repository、make:request 等符合项目结构的命令,提升开发效率。


# php  # laravel  # app  # 工具  # class  # console  # 自定义  # 将在  # 会在  # 我们可以  # 可以通过  # 可通过  # 命令行  # 组中  # 目录下  # strong 


相关文章: c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  如何将凡科建站内容保存为本地文件?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  全景视频制作网站有哪些,全景图怎么做成网页?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  如何通过FTP空间快速搭建安全高效网站?  文字头像制作网站推荐软件,醒图能自动配文字吗?  SQL查询语句优化的实用方法总结  如何在阿里云部署织梦网站?  大连 网站制作,大连天途有线官网?  内网网站制作软件,内网的网站如何发布到外网?  如何在橙子建站中快速调整背景颜色?  如何在Golang中指定模块版本_使用go.mod控制版本号  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  金*站制作公司有哪些,金华教育集团官网?  移民网站制作流程,怎么看加拿大移民官网?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  建站主机是什么?如何选择适合的建站主机?  制作网站怎么制作,*游戏网站怎么搭建?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  如何正确下载安装西数主机建站助手?  大型企业网站制作流程,做网站需要注册公司吗?  建站之星与建站宝盒如何选择最佳方案?  Android自定义控件实现温度旋转按钮效果  建站主机系统SEO优化与智能配置核心关键词操作指南  如何选择域名并搭建高效网站?  制作门户网站的参考文献在哪,小说网站怎么建立?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  如何在Windows服务器上快速搭建网站?  外贸公司网站制作哪家好,maersk船公司官网?  长沙企业网站制作哪家好,长沙水业集团官方网站?  北京网站制作的公司有哪些,北京白云观官方网站?  建站之星如何一键生成手机站?  如何在香港服务器上快速搭建免备案网站?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  制作网站的基本流程,设计网站的软件是什么?  宝塔面板如何快速创建新站点?  建站DNS解析失败?如何正确配置域名服务器?  公司门户网站制作流程,华为官网怎么做?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  如何快速搭建响应式可视化网站?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  建站之星安装需要哪些步骤及注意事项?  建站主机服务器选购指南:轻量应用与VPS配置解析  5种Android数据存储方式汇总  建站之星各版本价格是多少?  宝塔建站助手安装配置与建站模板使用全流程解析  建站之星24小时客服电话如何获取? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。