- M: models, 职责只涉及数据模型相干操作
- C: controllers, 职责对外裸露资本,前后端分别架构下controllers其实就相当于json格局的视图
- L: logics, 职责灵活实现所有营业逻辑的处所
logics逻辑层
逻辑层实现网关示例:
pathinfo路由
我们在logics层目次下增长了一个gateway目次,然后我们就可以灵活的在这个目次下编写逻辑了。gateway的构造如下:
- gateway [Logics层目次下gateway逻辑目次]
- ├── Check.php [接口]
- ├── CheckAppkey.php [考验app key]
- ├── CheckArguments.php [校验必传参数]
- ├── CheckAuthority.php [校验拜访权限]
- ├── CheckFrequent.php [校验拜访频率]
- ├── CheckRouter.php [网关路由]
- ├── CheckSign.php [校验签名]
- └── Entrance.php [网关人口文件]
网关人口类重要负责网关的初始化,代码如下:
- // 初始化一个:必传参数校验的check
- $checkArguments = new CheckArguments();
- // 初始化一个:app key check
- $checkAppkey = new CheckAppkey();
- // 初始化一个:拜访频次校验的check
- $checkFrequent = new CheckFrequent();
- // 初始化一个:签名校验的check
- $checkSign = new CheckSign();
- // 初始化一个:拜访权限校验的check
- $checkAuthority = new CheckAuthority();
- // 初始化一个:网关路由规矩
- $checkRouter = new CheckRouter();
- // 构查对象链
- $checkArguments->setNext($checkAppkey)
- ->setNext($checkFrequent)
- ->setNext($checkSign)
- ->setNext($checkAuthority)
- ->setNext($checkRouter);
- // 启动网关
- $checkArguments->start(
- APP::$container->getSingle('request')
- );
实现完成这个gateway之后,我们如安在框架中去应用呢?在logic层目次中我供给了一个user-defined的实体类,我们把gateway的人口类注册到UserDefinedCase这个类中,示例如下:
- /**
- * 注册用户自定义履行的类
- *
- * @var array
- */
- private $map = [
- // 演示 加载自定义网关
推荐阅读
科技公司裁撤中年技巧员工的传闻,每隔一段时光就会在网上漫溢、发酵。法度榜样员们有点懵。十年前,当他们踏着高考重点登科线,走进大年夜学计算机院系的时刻,想象的而立生活必定不是如>>>详细阅读
本文标题:从0开始构建一个属于你自己的PHP框架
地址:http://www.17bianji.com/lsqh/35069.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示