当前位置: 首页 > article >正文

Thinkphp6.0服务系统

本节课我们来学习一下要使用一下系统提供的服务系统。

一.服务系统

1. 服务系统,可以将一个类的对象注册到容器中去,方便调用执行;
2. 服务的执行优先级较高,在执行主体程序前就已经完成依赖注入;
3. 它的作用可以做一些初始化,配置一些参数,扩展插件等等均可;
4. 验证码扩展类就使用了服务系统,我们自己创建一个简单的服务;
5. common 目录下创建一个 Shut.php 类,这个类是被服务的类;
//定义一个属性字段
protected static $name = 'Mr.Lee';
//设置
public static function setName($name)
{
self::$name = $name;
}
//获取
public function run()
{
halt(self::$name.'提醒您,系统已关闭...');
}

6. 使用命令行,生成一个对 Shut.php 服务的服务类 ShutSerice.php
php think make:service ShutService

7. 服务类有两个方法,一个是服务注册 register() ,一个服务启动 boot()
public function register()
{
//绑定到容器,将被服务的类注册到容器中去
$this->app->bind('shut', Shut::class);
}
public function boot()
{
//执行
Shut::setName('Mr.Wang');
}

8. 最后一部,将系统服务配置到全局定义文件里, service.php
return [
\app\service\ShutService::class,
];

9. 最后在任意控制器测试即可,可以容易依赖注入或容器标识执行系统服务;
public function index(Shut $shut)
{
//依赖注入调用
$shut->run();
//容器标识调用
$this->app->shut->run();
return 'index';
}


http://www.kler.cn/news/10155.html

相关文章:

  • argparse参数总结(方便之后自己看)
  • 模板学堂|DataEase图表样式解析
  • 科技成果评价最新攻略,你确定不来看看?
  • Python实现Imagenet数据集的合并和拆分
  • 一篇文章让你搞懂TypeScript中的??和?:和?.和!.是什么意思
  • 风电的Weibull分布及光电的Beta分布组合研究(Matlab代码实现)
  • 开源后台管理系统解决方案 boot-admin 简介
  • 关于ChatGPT人工智能浅谈
  • Oracle之PL/SQL游标练习题(三)
  • 服务器部署需要注意的事项
  • 多个渠道成功销售的秘诀速递
  • 深度学习数据集—水果数据集大合集
  • C++模板初阶
  • 系统集成项目管理工程师软考第三章习题(每天更新)
  • 如何找回u盘被删除的文件
  • 00后卷王的自述,我难道真的很卷?
  • 模拟点击是啥?如何实现的呢?
  • 分享4个不可或缺的 VSCode 插件,让 Tailwind CSS开发更简单
  • Spring核心与设计思想
  • 如何使用golang库gqlgen?如何在golang中实现graphql请求?
  • 环形缓冲区
  • 14 个快速简洁的单行 JavaScript 代码解决方案
  • 报名截至在即 | “泰迪杯”挑战赛最后一场赛前指导直播!
  • java 泛型 万字详解(通俗易懂)
  • 【Linux系统文件管理(cat,awk指令)和网络IP配置,广播地址,修改子网掩码以及ping网关地址】
  • nova7换红米k60
  • NodeRED学习(五)http websoket
  • 【WebRTC技术专题】更进一步,核心组件RTP/RTCP数据传输协议 (3)
  • 理解 与 计算 物联网产品的电池使用寿命
  • Golang每日一练(leetDay0033) 二叉树专题(2)