| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> 【ThinkPHP6.x框架】(26)服务系统、事件、多应用 -> 正文阅读 |
|
[PHP知识库]【ThinkPHP6.x框架】(26)服务系统、事件、多应用 |
服务系统????????服务系统,可以将一个类的对象注册到容器中去,方便调用执行。服务的执行优先级较高,在执行主体程序前就已经完成依赖注入。它的作用可以做一些初始化,配置一些参数,扩展插件等等均可。验证码扩展类就使用了服务系统,我们自己创建一个简单的服务:在common目录下创建一个Shut.php类,这个类是被服务的类。
????????使用命令行,生成一个对Shut.php服务的服务类ShutSerice.php:
????????服务类有两个方法,一个是服务注册register(),一个服务启动boot()
????????最后一部,将系统服务配置到全局定义文件里,service.php:
????????最后在任意控制器测试即可,可以容易依赖注入或容器标识执行系统服务:
事件????????事件和中间件有一点相似,只不过事件更加的精准定位更细腻的业务场景。事件可定义:事件类、事件监听类、事件订阅类。我们先创建一个测试事件的类:TestEvent.php,手动创建一个测试类。
????????我们也可以使用监听类来设计监听器,使用命令行创建:
????????在app/event.php中,listen是配置监听类的,配置方式如下:
????????而监听类被触发会自动执行handle()方法,实现监听功能:
????????系统还内置了系统触发的事件,只要满足条件就会自动触发。 ?????????事件监听类,可以同时监听多个监听类,只要绑定到一个标识符即可:
????????对于需要多个监听,监听类不够灵活,而且类会创建很多,可以使用订阅类。订阅类就是将监听事件作为内部的方法用 ?on+方法名来实现:
????????然后,直接去app/event.php注册一下:
????????然后,两个方法分别监听两个事件方法,直接调用方法名即可:
????????对于事件类,很少有场景需要使用它,毕竟系统提供的各种精确方案较多:
多应用模式????????由于多应用模式属于扩展,我们需要额外安装:
????????安装后,创建index和admin两个应用目录文件夹,只要将controller和model移入即可,修改相应的命名空间。将 view也增加index和admin两个应用目录文件夹,移入相应文件夹。默认的应用为index,在app.php修改即可。
? ? ? ? 举例一个多应用的目录结构: ?????????可以做应用映射,比如将 ?admin目录映射为think,admin废弃:
????????我们也可以做域名绑定,比如,后台用域名绑定,直接访问:
????????路由修改:需要在应用目录单独建立路由,内部编码不需要更改。 |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 0:34:50- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |