当前位置: 首页 > news >正文

生产型或服务型企业网站有哪些一键制作单页网站

生产型或服务型企业网站有哪些,一键制作单页网站,那些网站是php开发的,珠海做网站公司哪家好前言 我个人觉得在当前 MVC 流行的架构下#xff0c;要想去了解一个框架#xff0c;或者是一个基于此架构下的应用程序#xff0c;最好的入手方式就是先看路由#xff0c;虽然路由不是 MVC 里的任何一个#xff0c;但是知道了路由的来龙去脉就知道了整个框架或者是应用的结… 前言 我个人觉得在当前 MVC 流行的架构下要想去了解一个框架或者是一个基于此架构下的应用程序最好的入手方式就是先看路由虽然路由不是 MVC 里的任何一个但是知道了路由的来龙去脉就知道了整个框架或者是应用的结构。从一个请求开始具体分配到哪个 C 去执行的 C 里又调用了哪些东西整个脉络也就清晰了。 然而整个路由的实现的逻辑本身又是比较好理解的无非就是从请求的 URL 中按着约定的规则取出 C 对应的 class 以及 method 即可。如此我们接下来详细看看 CI 4 dev 版的路由具体实现的逻辑。 找到路由逻辑的具体位置 上一节我们说 Codeigniter.php 的时候讲到 index.php 入口文件通过 $app-run() 调取了 Codeigniter 类中的 run 方法。 run 中又执行了 handleRequest 方法用来处理请求的具体信息。接着 handleRequest 调取 tryToRouteIt 来尝试解析路由此时代码逻辑还在 Codeigniter.php 里真正的解析过程还没有开始。在 tryToRouteIt 方法中通过 service 方式加载了 router 类通过 system/config/service 加载 router 代码如下这也是一个服务加载的统一形式其它的核心辅助类都是如此加载 public static function router(\CodeIgniter\Router\RouteCollectionInterface $routes null, $getShared true) {if ($getShared){return self::getSharedInstance(router, $routes);}if (empty($routes)){$routes self::routes(true);}return new \CodeIgniter\Router\Router($routes); } 从 倒数第二行可以看出加载的 router 类位于 system/router 下的 Router 类里。 system/router/Router.php 解析路由的详细过程 首先我们把 Codeigniter.php 中调用该类的详细代码列出来如下 $this-controller $this-router-handle($path); $this-method $this-router-methodName(); 关键的只有两行一行找类一行找方法。找类的那一行处理了大部分的逻辑找方法的那一行就是简单的 get 。 146-150 行判断 $uri 如果为空那么返回默认路由。因为在该类的构造方法里读取了配置中的默认路由因此此处直接返回配置即可。153-156 行检查路由配置文件里的配置是否有和当前匹配的 URL 有的话直接返回配置的控制器即可。161-164 行检查是否开启了自动路由匹配如果没有开启那么读取完配置好的路由都没有结果那么就可以 throw pageNoteFoundException 了。166 行真正的处理 CI 路由逻辑的地方。详细见 autoRoute 方法。168 行把处理完毕后找到的 controller 返回。此方法通过调用其它方法已经实现了寻找 controller 的过程主流程到此已经结束。 autoRoute 方法 该方法是自动按着约定规则去 controller 目录去找路由的过程。 442 行将 URI 按着 / 打散成数组。444 行确定 URI 里是否包含 Controller 的目录部分。该方法将 $segments 数组由 0 元素一次一次循环并匹配 application/controller 下的目录找到后并且该目录下没有同名的 PHP 文件即认为是路径组成部分同时将该元素从 $segments 中去除以保证 $segments 中剩下的仅仅是 class 与 method 内容。448-456 行去除路径后发现 $segments 数组没元素啦那么只能是默认处理了。否则直接弹出数组中的第一个元素即是 class 信息。461-464 行如果此时 $segments 中不为空那么弹出数组中第一个元素是 method 信息。466-469 行如果此时 $segments 中还不为空那么剩下的就是传递的参数信息。472-476 行判断代表 controller 的文件存在的话 include 进来。小结 至此路由部分处理完了找到的 controller 与 method 信息分别放到了对象对应的属性里。因此在 codeigniter.php 中用以下两行就拿到了相应的信息 $this-controller $this-router-handle($path); $this-method $this-router-methodName(); 下一章应该会看看 CI 4 相对 CI 3 的变化。 此文可以转载但转载前需要发邮件到imustgxd*sina.cn进行沟通未沟通的均视作侵权。 转载同时需注明原文链接(https://segmentfault.com/a/11...并保留此段文字。
http://www.pierceye.com/news/73827/

相关文章:

  • 刷QQ砖的网站咋做谷歌商店paypal官网
  • 怎么自己编程做网站二级造价师
  • 网站建设所需人力wordpress版权
  • 商城系统网站建设西安建站
  • 广州市建设工程造价站网站公司营业执照注册
  • 网站建设网站模板wordpress漂亮破解主题
  • 域名买好怎么开始做网站网站建设时程序的作用
  • 什么网站可以做高数百度推广做网站什么价位
  • 桂林微信网站软件app下载免费
  • led论坛网站建设网站建设的空间是什么意思
  • 网站开发人员构成电商系统源码公司哪家好
  • 有没有帮忙做问卷调查的网站wordpress段子模板
  • 网站建设 主要学是么html5修改器下载
  • 培训类网站模板淄博建设企业网站
  • 大同做网站网站推广效果分析
  • 漳州网站建设公司推荐网站快速备案被退回的几种原因分析
  • iis禁止通过ip访问网站做高仿网站有哪些
  • 怎样做网站教程疯狂的大叔 wordpress
  • 高权重网站做员会来顶排名建筑网站水泡网
  • 哪里做网站排名网站备案的影响
  • 天津网站建设举措怎么修改别人做的网站
  • 网站程序授权码辽宁建筑工程信息网
  • 做网站的策划需要做什么微信公众号的微网站怎么做
  • 在线做数据图的网站邵阳网站建设
  • 网站开发语言作用网站名称有哪些
  • vs做网站登录界面旅游网站建设规划报告怎么写
  • 企业综合型网站建设方案台州网站建设推广公司
  • 贵州网站建设设计公司西安百度爱采购推广
  • 西安教育类网站建设公司wordpress怎么批量移动分类
  • 网站验收百度收录网站怎么更改关键词