聊聊laravel怎么快速生成 Services?

下面带大家介绍如何使用 make:service 命令来快速生成 Services,希望对大家有所帮助! 前言 Artisan 是 Laravel 附带的命令行接口。Artisan…

下面带大家介绍如何使用 make:service 命令来快速生成 Services,希望对大家有所帮助!

前言

Artisan 是 Laravel 附带的命令行接口。Artisan 以artisan脚本的形式存在于应用的根目录,并提供了许多有用的命令,这些命令可以在构建应用时为你提供帮助。

除 Artisan 提供的命令外,你也可以编写自己的自定义命令。 命令在多数情况下位于 app/Console/Commands 目录中; 不过,只要你的命令可以由 Composer 加载,你就可以自由选择自己的存储位置。

前期工作

在开始之前,我们要准备相应的目录和文件。

我们可以使用以下命令快速生成ServiceMakeCommand.php文件:

phpartisanmake:commandServiceMakeCommand

执行完后会在你的Console文件夹下生成Commands文件夹和Commands/ServiceMakeCommand.php文件。

我们还需要在Commands文件夹下添加一些文件夹和文件:

结构如下:

-app-Console+-Commands+-stubs+-service.plain.stub+-ServiceMakeCommand.php-Kernel.php-.-.-.

service.plain.stub代码:

app/Console/Commands/stubs/service.plain.stub

<?phpnamespace{{namespace}};class{{class}}{//}

我们的前期准备就此结束,是不是很简单?哈哈。

快速开始

接下来我们就直接一把梭哈了,注意改动的代码噢。

我们主要是对着ServiceMakeCommand.php文件一把梭哈,所以:

app/Console/Commands/ServiceMakeCommand.php

<?phpnamespaceApp\\Console\\Commands;useIlluminate\\Console\\GeneratorCommand;classServiceMakeCommandextendsGeneratorCommand{/***Thenameandsignatureoftheconsolecommand.**@varstring*/protected$signature='make:service{name}';/***Theconsolecommanddescription.**@varstring*/protected$description='Createanewserviceclass';/***Thetypeofclassbeinggenerated.**@varstring*/protected$type='Service';/***Getthestubfileforthegenerator.**@returnstring*/protectedfunctiongetStub(){return__DIR__.'/stubs/service.plain.stub';}/***Getthedefaultnamespacefortheclass.**@paramstring$rootNamespace*@returnstring*/protectedfunctiongetDefaultNamespace($rootnamespace){return$rootnamespace.'\\Services';}}

最后,我们执行以下命令快速生成UserService.php文件:

phpartisanmake:serviceUserService

结构如下:

-app-Console-Commands-stubs-service.plain.stub-ServiceMakeCommand.php-Kernel.php+-Services+-UserService.php-.-.-.

让我们查看UserService.php和我们想象中的代码是否一致:

app/Services/UserService.php

<?phpnamespaceApp\\Services;classUserService{//}

恭喜,我们已经做到我们想要的结果了。

总结

虽然我们做得比较简陋,但我们只需稍加改进,就可以让它变得更完善。

产品猿社区致力收录更多优质的商业产品,给服务商以及软件采购客户提供更多优质的软件产品,帮助开发者变现来实现多方共赢;

日常运营的过程中我们难免会遇到各种版权纠纷等问题,如果您在社区内发现有您的产品未经您授权而被用户提供下载或使用,您可按照我们投诉流程处理,点我投诉

本文来自用户发布投稿,不代表产品猿立场 ;若对此文有疑问或内容有严重错误,可联系平台客服反馈;

部分产品是用户投稿,可能本文没有提供官方下下载地址或教程,若您看到的内容没有下载入口,您可以在我们产品园商城搜索看开发者是否有发布商品;若您是开发者,也诚邀您入驻商城平台发布的产品,地址:点我进入

如若转载,请注明出处:https://www.chanpinyuan.cn/40074.html;
(0)
上一篇 2023年3月27日 下午4:18
下一篇 2023年3月27日 下午4:18

相关推荐

发表回复

登录后才能评论
分享本页
返回顶部