用 Composer构建自己的 PHP 框架之基础准备


Posted in PHP onOctober 30, 2014

『Composer 一统天下的时代已经到来!』

——白岩松

“一个时代结束了,另一个时代开始了。”

Framework Interoperability Group(框架可互用性小组),简称 FIG,成立于 2009 年。FIG 最初由几位知名 PHP 框架开发者发起,在吸纳了许多优秀的大脑和强健的体魄后,提出了PSR-0 到 PSR-4 五套 PHP 非官方规范:

1. PSR-0 (Autoloading Standard) 自动加载标准

2. PSR-1 (Basic Coding Standard) 基础编码标准

3. PSR-2 (Coding Style Guide) 编码风格向导

4. PSR-3 (Logger Interface) 日志接口

5. PSR-4 (Improved Autoloading)自动加载优化标准

之后,在此标准之上,Composer横空出世!Composer 利用 PSR-0 和 PSR-4 以及 PHP5.3 的命名空间构造了一个繁荣的 PHP 生态系统。Composer 类似著名的 npm 和 RubyGems,给海量 PHP 包提供了一个异常方便的协作通道,Composer Hub 地址:https://packagist.org/。Composer 中文网站:http://www.phpcomposer.com/。

目前 PHP 界风头正劲的 Laravel 和 Symfony 均直接基于 Composer,大家耳熟能详著名框架 CI 和 Yii 的正开发版本CodeIgniter 3 和 Yii 2 也都基于 Composer(更新:北京时间2014年10月13日 Yii 2 已经发布)。Composer 就是 PHP 框架的未来,有了它,让 CI 的路由和 Laravel 的 Eloquent ORM 协作就会变的非常简单。

PHP 语言本身就带有强大的网络功能、文件管理功能和丰富的系统 API,Composer 也只是一段 PHP 脚本而已。可以使用

php composer.phar update

直接调用。

在合适的地方新建一个文件夹,命名为 MFFC(My First Framework based on Composer),在文件夹下新建文件 composer.json:

{ "require": { }}

命令行切换到 MFFC 目录下,运行:

composer update

稍等片刻,会出现如下文件及文件夹:

用 Composer构建自己的 PHP 框架之基础准备

如果以上内容成功出现,恭喜你,Composer 初始化成功!

PHP 相关文章推荐
用PHP调用数据库的存贮过程
Oct 09 PHP
如何使用脚本模仿登陆过程
Nov 22 PHP
php反弹shell实现代码
Apr 22 PHP
PHP Zip解压 文件在线解压缩的函数代码
May 26 PHP
PHP print类函数使用总结
Jun 25 PHP
七款最流行的PHP本地服务器分享
Feb 19 PHP
制作个性化的WordPress登陆界面的实例教程
May 21 PHP
详解使用php调用微信接口上传永久素材
Apr 11 PHP
PHP实现json_decode不转义中文的方法
May 20 PHP
php 中的closure用法详解
Jun 12 PHP
PHP依赖注入原理与用法分析
Aug 21 PHP
CI框架简单分页类用法示例
Jun 06 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
Oct 30 #PHP
仿dedecms下拉分页样式修改的thinkphp分页类实例
Oct 30 #PHP
thinkphp中html:list标签传递多个参数实例
Oct 30 #PHP
如何让CI框架支持service层
Oct 29 #PHP
使用array_map简单搞定PHP删除文件、删除目录
Oct 29 #PHP
PHPUnit安装及使用示例
Oct 29 #PHP
laravel安装和配置教程
Oct 29 #PHP
You might like
古巴咖啡 Cubita琥爵咖啡 独特的加勒比海风味咖啡
2021/03/06 新手入门
PHP中用hash实现的数组
2011/07/17 PHP
php小技巧之过滤ascii控制字符
2014/05/14 PHP
javascript parseInt() 函数的进制转换注意细节
2013/01/08 Javascript
jquery 删除字符串最后一个字符的方法解析
2014/02/11 Javascript
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
2014/06/06 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
js基于面向对象实现网页TAB选项卡菜单效果代码
2015/09/09 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
使用jQuery给input标签设置默认值
2016/06/20 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
2017/02/26 Javascript
react.js CMS 删除功能的实现方法
2017/04/17 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
用最少的JS代码写出贪吃蛇游戏
2018/01/12 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
2019/06/03 Javascript
windows下create-react-app 升级至3.3.1版本踩坑记
2020/02/17 Javascript
vue实现简单计算商品价格
2020/09/14 Javascript
结合Python的SimpleHTTPServer源码来解析socket通信
2016/06/27 Python
Python如何为图片添加水印
2016/11/25 Python
python matplotlib中文显示参数设置解析
2017/12/15 Python
python常用排序算法的实现代码
2019/11/08 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
wxpython自定义下拉列表框过程图解
2020/02/14 Python
django rest framework serializers序列化实例
2020/05/13 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
数控技术与应用毕业生自荐信
2013/09/24 职场文书
中文师范生自荐信
2014/01/30 职场文书
给校长的建议书400字
2014/05/15 职场文书
物理学专业求职信
2014/07/04 职场文书
放飞理想演讲稿
2014/09/09 职场文书
医院领导班子整改方案
2014/10/01 职场文书
步步惊心观后感
2015/06/12 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
Python函数中apply、map、applymap的区别
2021/11/27 Python
python中的3种定义类方法
2021/11/27 Python