作家
登录

从0开始构建一个属于你自己的PHP框架

作者: 来源: 2017-05-08 16:02:45 阅读 我要评论

  • M: models, 职责只涉及数据模型相干操作
  • C: controllers, 职责对外裸露资本,前后端分别架构下controllers其实就相当于json格局的视图
  • L: logics, 职责灵活实现所有营业逻辑的处所

logics逻辑层

逻辑层实现网关示例:

pathinfo路由

我们在logics层目次下增长了一个gateway目次,然后我们就可以灵活的在这个目次下编写逻辑了。gateway的构造如下:

  1. gateway                     [Logics层目次下gateway逻辑目次] 
  2.   ├── Check.php             [接口] 
  3.   ├── CheckAppkey.php       [考验app key
  4.   ├── CheckArguments.php    [校验必传参数] 
  5.   ├── CheckAuthority.php    [校验拜访权限] 
  6.   ├── CheckFrequent.php     [校验拜访频率] 
  7.   ├── CheckRouter.php       [网关路由] 
  8.   ├── CheckSign.php         [校验签名] 
  9.   └── Entrance.php          [网关人口文件] 

网关人口类重要负责网关的初始化,代码如下:

  1. // 初始化一个:必传参数校验的check 
  2. $checkArguments   =  new CheckArguments(); 
  3. // 初始化一个:app key check 
  4. $checkAppkey      =  new CheckAppkey(); 
  5. // 初始化一个:拜访频次校验的check 
  6. $checkFrequent    =  new CheckFrequent(); 
  7. // 初始化一个:签名校验的check 
  8. $checkSign        =  new CheckSign(); 
  9. // 初始化一个:拜访权限校验的check 
  10. $checkAuthority   =  new CheckAuthority(); 
  11. // 初始化一个:网关路由规矩 
  12. $checkRouter      =  new CheckRouter(); 
  13.  
  14. // 构查对象链 
  15. $checkArguments->setNext($checkAppkey) 
  16.                ->setNext($checkFrequent) 
  17.                ->setNext($checkSign) 
  18.                ->setNext($checkAuthority) 
  19.                ->setNext($checkRouter); 
  20.  
  21. // 启动网关 
  22. $checkArguments->start( 
  23.     APP::$container->getSingle('request'
  24. ); 

实现完成这个gateway之后,我们如安在框架中去应用呢?在logic层目次中我供给了一个user-defined的实体类,我们把gateway的人口类注册到UserDefinedCase这个类中,示例如下:

  1. /** 
  2.  * 注册用户自定义履行的类 
  3.  * 
  4.  * @var array 
  5.  */ 
  6. private $map = [ 
  7.     // 演示 加载自定义网关 

      推荐阅读

      裁撤中年技术员工让程序员发懵:25岁就死了,75才埋

    科技公司裁撤中年技巧员工的传闻,每隔一段时光就会在网上漫溢、发酵。法度榜样员们有点懵。十年前,当他们踏着高考重点登科线,走进大年夜学计算机院系的时刻,想象的而立生活必定不是如>>>详细阅读


    本文标题:从0开始构建一个属于你自己的PHP框架

    地址:http://www.17bianji.com/lsqh/35069.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)