在 Laravel 中可通过 Artisan 创建自定义命令(如 make:service)生成符合团队规范的代码结构,需定义签名、描述、模板逻辑及注册命令。在 Laravel 中,可以通过 Artisan 命令行工具创建自定义模板命令,快速生成项目中常
用的代码结构(如 Model、Service、Repository 等)。虽然 Laravel 提供了默认的 make 命令,但我们可以自定义模板和命令来适配团队开发规范。
使用内置命令生成一个命令类:
php artisan make:command MakeServiceCommand
该命令会在 app/Console/Commands 目录下创建 MakeServiceCommand.php 文件。
打开刚创建的命令文件,设置 signature 和 description:
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将在
基本上就这些。通过这种方式可以扩展出 make:repository、make:request 等符合项目结构的命令,提升开发效率。app/Services/UserService.php生成对应类。
# 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小时内与您取得联系。