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

一.服务系统

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. 定义zabbix_action报警通知模板
  2. SICP学习笔记(P27-P28)
  3. php考勤分析,php考勤系统
  4. TensorFlow(3)-与训练相关的操作
  5. oracle中执行自带脚本,oracle自带脚本
  6. 小玉家的电费(洛谷-P1422)
  7. 粗糙集的基础理论汇总
  8. 算法导论 思考题12-1
  9. 内部矩阵维度必须一致simulink_为何选择矩阵式KVM切换器及其原理
  10. 如何找到局域网内所有主机ip
  11. vs2005安装opengl
  12. 【联想启天M4350】Windows 7下安装Yosemite 10.10.1懒人版
  13. ensp VRRP配置2
  14. Java中文字转拼音工具类
  15. 摩斯密码php,摩斯密码是什么?
  16. nginx反向代理实践:将某个指定的域名代理到指定的服务
  17. 代理模式详解--潘金莲版
  18. 前端:css中的多列的实现与介绍
  19. 基于java基于javaweb的管理系统设计与实现怎样选题思路分享
  20. WIN10恢复旧版edge(原版edge)

热门文章

  1. 12月11日服务器例行维护公告,《问道》12月17日(周四)服务器例行维护公告
  2. Linux 命令【cd、 cd ~、cd /、cd../、cd /home】详细讲解~
  3. MySQL入门_实战6_MySQL数据的更新
  4. Android Trick 3: GridView动态加载数据情况下,选中状态的实现
  5. 从键盘输入一句英文,实现把这句英文的单词按照字典顺序排序输出。
  6. CSS复合选择器—2
  7. Android测试中常用的adb命令、monkey命令
  8. extract函数python_extract的用法详解
  9. 华为Mate30你会入手吗?未采用2K屏幕引争议,主要考虑4个方面
  10. 公司名称变更仅需6步