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

一.服务系统

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';
}

Thinkphp6.0服务系统相关推荐

  1. 架构设计:数据服务系统0到1落地实现方案

    本文源码:GitHub·点这里 || GitEE·点这里 一.基于业务 数据服务通常有很多种业务模式,也就导致系统的架构与业务都会很复杂,不同的业务都具有自身的能力和复杂度,数据管理本身就是一件不容易 ...

  2. 如何从0设计一套实用可靠的支付服务系统?

    从产品分类.模块功能和业务流程,了解支付产品服务的设计 支付产品模块是按照支付场景来为业务方提供支付服务.这个模块一般位于支付网关之后,支付渠道之前. 它根据支付能力将不同的支付渠道封装成统一的接口, ...

  3. mysql8.0 服务移除_Linux下彻底删除Mysql 8.0服务的方法

    观看本文前最好有一定的Linux命令基础,具体为centos7.3环境中清除使用yum安装的Mysql 卸载前请先关闭Mysql服务 service mysql stop 使用 rpm 命令的方式查看 ...

  4. data后缀文件解码_封装ThinkPHP6.0通用文件上传

    php中文网最新课程 每日17点准时技术干货分享 本文为php中文网认证作者:"wpj"投稿,欢迎加入php中文网有偿投稿计划! 本文实例讲述了封装ThinkPHP6通用文件上传方 ...

  5. MySQL8.0启动服务的代码_MySQL8.0服务启动(windows10)

    [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=C:\Program Files\MySQL # 设置mysql数据库的数据的存放目录 dat ...

  6. 纳税服务系统十一【抽取BaseService、条件查询】

    tags: 纳税服务系统项目 抽取BaseService 到目前为止,我们已经写了三个模块的开发了.我们已经抽取过了BaseAction.BaseDao,我们这次来看看我们的Service接口. Us ...

  7. 纳税服务系统八【系统、子系统首页】

    tags: 纳税服务系统项目 前言 到目前位置,我们的用户模块和角色模块基本已经做好了,我们的纳税服务系统是放在一个大系统里边的.我们应该把我们已经写好的模块加载进去. 加载整个系统首页 导入对应的J ...

  8. springcloud 2.0 服务链路追踪踩坑以及一些小小的理解

    在微服务系统中,随着业务的发展,系统会变得越来越大,这样一来各个服务之间的调用关系也就变得越来越复杂.一个 HTTP 请求会调用多个不同的服务接口来处理返回最后的结果,在这个调用过程中,可能会因为某个 ...

  9. 基于 Spring Security OAuth2和 JWT 构建保护微服务系统

    我们希望自己的微服务能够在用户登录之后才可以访问,而单独给每个微服务单独做用户权限模块就显得很弱了,从复用角度来说是需要重构的,从功能角度来说,也是欠缺的.尤其是前后端完全分离之后,我们的用户信息不一 ...

最新文章

  1. 微软联手埃森哲打造基于区块链技术的数字化ID网络
  2. r语言导入ggplot2_R语言 可视化之三大绘图系统概述:base、lattice和ggplot2 | 第7讲...
  3. java math 类_Java Math类静态双层(double d)示例
  4. VC----SDK下对窗口非客户区的操作
  5. linux 查看磁盘空间大小命令
  6. Java与jar之间的区别
  7. Q136:PBRT-V3,双向路径追踪(Bidirectional Path Tracing)(16.3章节)
  8. 无尽的拉格朗日多开器
  9. 怎么把python压缩_python中如何实现图片压缩
  10. 485通讯问题及解决调试方案提炼
  11. 如何将EAN13码批量输出成PDF
  12. 【C++】三大易混概念之覆盖
  13. 裸金属服务器是什么?关于裸金属服务器架构原理详解
  14. 浅谈智能计算机的未来发展,浅谈计算机人工智能科学技术应用及发展
  15. 并查集(详细解释+完整C语言代码)
  16. Codewars实战(一)
  17. 8款令人骄傲的国产软件,让你的电脑好用数倍不止
  18. 江西理工大学理学院计算机,2016年江西理工大学理学院计算机科学与技术(加试)之C程序设计复试笔试最后押题五套卷...
  19. Ubuntu上搭建自己的ngrok服务器
  20. ROS下使用PCL库教程

热门文章

  1. 【kafka】kafka kerberos TGT renewal thread has been interrupted and will exit
  2. 一个沉迷于外卖的程序员
  3. 面试中被问到什么是前后端分离怎么回答
  4. oracle分区名称能不能相同,Oracle分区介绍
  5. 万恶的IIS+ASP
  6. python plt 画动态折线图
  7. 第五章 字符串 总结
  8. 微信小程序 单选项目 radio 组件
  9. 【第77篇】GPT-4技术报告
  10. MySQL目录结构以及配置文件详解