• PhalAPI学习笔记 ——— 第三章细致讲解使用PSR-4规范自定义你的命名空间


    PhalAPI学习笔记 ——— 第三章细致讲解使用PSR-4规范自定义你的命名空间

    前言

    公司业务需要转学PHP,而PHP中一个功能强大且生态链完整的PHP接口框架 PhalAPI
    值得大家去学习,本学习笔记持续更新!
    虽然官方文档写的十分明白,以及CSDNPhalAPI框架内容也少之又少。
    因此,以自我踩坑为基础,提供一个更为精简的学习笔记,本学习笔记将会省略部分安装及简单操作。

    什么是PSR-4

    简单来说就是一种规范,autoload自动加载规范,定义命名空间与路径的映射关系

    应用场景

    • 一般用于Composer依赖管理中配置项,配置自动加载路径,从而满足映射关系

    PSR-4解析

    打开PhalAPI下:composer.json文件。

    找到autoload项配置 (默认状态)

    	"autoload" : {
    		"files" : [
    			"src/app/functions.php",
    		],
    		"psr-4" : {
    			"App\\" : "src/app",
    			"Portal\\" : "src/portal",
    		}
    	},
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    其中可以观察到下面拥有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",
    		}
    	},
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    还没完,重点来了,你现在跑该接口是跑不通的,我们还需要在 composer 输入 composer update 修改自动注入

    随后浏览器跳转:http://127.0.0.1/phalapi/public/?s=Demo.HelloWorld.Index

    结果

    在这里插入图片描述

    结束语

    关于 PhalAPI学习笔记 ——— 第三章细致讲解使用PSR-4规范自定义你的命名空间 就讲到这里,对你有帮助的话!

    • 点赞
    • 收藏

    谢谢你的观看!

  • 相关阅读:
    electron打包ffi-napi报错 npm ERR! gyp reason: read ECONNRESET
    Java面试之封装、继承和多态(简洁易懂版)
    基于无人机倾斜摄影模型提取高精度地形DEM数据
    Ansible主机清单书写演示和ansible.cfg配置文件详解
    ZYNQ7010的PS编程笔记
    Python基础知识从hello world 开始(第二天)
    HTML5 游戏开发实战 | 黑白棋
    LABVIEW详细介绍:LABVIEW是什么软件?都可以干什么?
    代谢组学研究的十大误区——误区九
    莫名其妙el-table不显示问题
  • 原文地址:https://blog.csdn.net/qq_33638188/article/details/125539311