为什么搭建一个框架(搭建一个怎样的框架)
通过搭建一个框架更好的学习PHP
搭建一个专门用于构建API的微型框架。
微型框架基本上是一个封装的路由,用来转发HTTP请求至一个闭包,控制器,或方法等等,尽可能地加快开发的速度,有时还会使用一些类库来帮助开发,例如一个基本的数据库封装等等。
为了快速实现,我们尽可能的使用他人造好的轮子,然后进行组装。
概念了解
框架,就是遵照一定的规范(PHP-FIG),借助他人的轮子,实现快速业务,安全等附加价值。
MVC,一种分工协作的模式。还有依赖注入、单例等等很多设计模式。
框架流程大体是:URI--》入口文件--》路由--》控制器--》服务层--》模型层--》返回结果(html、json、xml等)
准备工作
了解composer,使用Packagist中国镜像
安装LAMP或者LNMP,,windows下可以安装集成环境,如wamp server等。
最好安装了git:1.可以在windows下使用Git Bash;2.方便代码同步到github等。
如果你对上述3个问题都不熟悉,可以点击这里
第一步:利用composer创建项目
选择一个目录,如/tmp或者C:\Users\Public\
mkdir bee //给一个项目命名往往很烧脑,我取名‘小蜜蜂’,。
cd bee
composer init
按照提示输入即可,如图。
composer init
bee目录下生成了composer.json,
然后执行composer install,
bee目录下生成了vendor目录,效果如图。
vendor
恭喜你完成了最艰难的第一步!
composer主要用到了spl_autoload_register等方法,关于PHP自动加载问题,请补充相关知识。
第二步:路由
选择一个路由轮子
github上路由轮子太多了,选择往往也很纠结。
目前star最多的FastRoute被用于Slim框架,它遵照最新的PSR7规范,有些复杂。
这里选择一个简单的Macaw
在命令行执行composer require noahbuscher/macaw:dev-master。
效果就是在composer.json中多出了
"require": {
"noahbuscher/macaw": "dev-master"
}
新建入口文件index.p