前言
公司业务需要转学PHP,而PHP中一个功能强大且生态链完整的PHP接口框架 PhalAPI
值得大家去学习,本学习笔记持续更新!
虽然官方文档写的十分明白,以及CSDN中PhalAPI框架内容也少之又少。
因此,以自我踩坑为基础,提供一个更为精简的学习笔记,本学习笔记将会省略部分安装及简单操作。
什么是PSR-4
简单来说就是一种规范,autoload自动加载规范,定义命名空间与路径的映射关系
应用场景
- 一般用于Composer依赖管理中配置项,配置自动加载路径,从而满足映射关系
PSR-4解析
打开PhalAPI下:composer.json
文件。
找到autoload项配置 (默认状态)
"autoload" : {
"files" : [
"src/app/functions.php",
],
"psr-4" : {
"App\\" : "src/app",
"Portal\\" : "src/portal",
}
},
其中可以观察到下面拥有psr-4的配置项下有着两项配置!
-
App : src/app
-
Portal : src/portal
App 以及 Portal则是外部命名空间名称 参数值则为:实际路径位置
上图!
由此可以推断出,外部命名空间App的映射地址则是src/app
portal以此类推
小疑问
问:我们既然知道规律了,但这个命名空间在何处使用呢?
答:观察App/Api/任意php文接口 或Portal/Api/任意php接口,观察仔细变化
结论
经过两轮筛查发现,在composer中 autoload的命名空间必须与该映射地址下的php文件的命名空间一致
那么我们直接开始自定义我们的命名空间和路径映射吧!
自定义命名空间
复制一份App下所有文件,更名为demo同时更改php接口文件命名空间
修改composer.json中的autoload
"autoload" : {
"files" : [
"src/app/functions.php",
"src/app/common.php"
],
"psr-4" : {
"App\\" : "src/app",
"Portal\\" : "src/portal",
"Demo\\" : "src/demo",
}
},
还没完,重点来了,你现在跑该接口是跑不通的,我们还需要在 composer 输入
composer update
修改自动注入
随后浏览器跳转:http://127.0.0.1/phalapi/public/?s=Demo.HelloWorld.Index
结果
结束语
关于 PhalAPI学习笔记 ——— 第三章细致讲解使用PSR-4规范自定义你的命名空间 就讲到这里,对你有帮助的话!
- 点赞
- 收藏
谢谢你的观看!