<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="利用Composer构建自己的PHP框架实现构建路由" id="card1">
<p> 游客</p><p>
标题:利用Composer构建自己的PHP框架实现构建路由<br/>
正文:<br/>
上一篇中我们已经建立了一个空的 Composer 项目，本篇将讲述如何构建路由。久负盛名的 CodeIgniter 框架是很多人的 PHP 开发入门框架，同样也是我开始学习如何从头构建一个网站的框架。在 CI 中我学到了很多，其中对 MVC 的深入理解和对框架本质的理解对我的影响最大。从使用框架是为了提高开发效率的角度来看，框架的本质就是路由。下面我们就开始自己来构建路由，先去 GitHub 搜一下：点此查看搜索结果推荐https://github.com/NoahBuscher/Macaw，对应的 Composer 包为codingbean/macaw ，作者应该是在 GitHub 上改名了，这可能会造成一定的困扰。下面开始安装 Macaw 包，更改 composer.json：{ &amp;quot;require&amp;quot;: {  &amp;quot;codingbean/macaw&amp;quot;: &amp;quot;dev-master&amp;quot; }}运行 composer update，成功之后将得到以下目录：至此，Macaw 包安装成功！下面，就是见证奇迹的时刻！我们将赋予 MFFC 生命力，让它真正地跑起来！新建 MFFC/public 文件夹，这个文件夹将是用户唯一可见的部分。在文件夹下新建 index.php 文件：&amp;lt;?php// Autoload 自动载入require '../vendor/autoload.php';// 路由配置require '../config/routes.php';上面一行表示引入 Composer 的自动载入功能，下面一行表示载入路由配置文件。新建 MFFC/config 文件夹，在里面新建 routs.php 文件，内容如下：&amp;lt;?phpuse NoahBuscher\Macaw\Macaw;Macaw::get('fuck', function() { echo &amp;quot;成功！&amp;quot;;});Macaw::get('(:all)', function($fu) { echo '未匹配到路由&amp;lt;br&amp;gt;'.$fu;});Macaw::dispatch();Macaw 的文档位于https://github.com/NoahBuscher/Macaw，请按照你的 HTTP 服务软件类型自行设置伪静态，其实跟绝<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2040&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2040&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2040&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2040&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2040&amp;Page=3">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=2040">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=2040">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>