用 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 Token(令牌)设计
Mar 15 PHP
PHP spl_autoload_register实现自动加载研究
Dec 06 PHP
php取整函数ceil,floo,round的用法及介绍
Aug 31 PHP
PHP根据两点间的经纬度计算距离
Oct 31 PHP
基于递归实现的php树形菜单代码
Nov 19 PHP
php中动态变量用法实例
Jun 10 PHP
浅谈PHP中output_buffering
Jul 13 PHP
PHP getallheaders无法获取自定义头(headers)的问题
Mar 23 PHP
Yii框架实现多数据库配置和操作的方法
May 25 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
PHP常见加密函数用法示例【crypt与md5】
Jan 27 PHP
php把文件设置为插件的技巧方法
Feb 03 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
海河写的 Discuz论坛帖子调用js的php代码
2007/08/23 PHP
PHP OPCode缓存 APC详细介绍
2010/10/12 PHP
LotusPhp笔记之:Logger组件的使用方法
2013/05/06 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
详谈PHP编码转换问题
2015/07/28 PHP
javascript StringBuilder类实现
2008/12/22 Javascript
js 鼠标点击事件及其它捕获
2009/06/04 Javascript
对xmlHttp对象的理解
2011/01/17 Javascript
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
2012/08/09 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
jquery radio的取值_radio的选中_radio的重置方法
2016/09/20 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
jquery实现拖动效果(代码分享)
2017/01/25 Javascript
微信小程序中进行地图导航功能的实现方法
2018/06/29 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
[51:00]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
python3操作mysql数据库的方法
2017/06/23 Python
python实现神经网络感知器算法
2017/12/20 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
PyQt编程之如何在屏幕中央显示窗体的实例
2019/06/18 Python
Python 下载及安装详细步骤
2019/11/04 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
Python脚本破解压缩文件口令实例教程(zipfile)
2020/06/14 Python
一个入门级python爬虫教程详解
2021/01/27 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
BIBLOO捷克:购买女装、男装、童装、鞋和配件
2017/01/27 全球购物
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
成龙霸王洗发水广告词
2014/03/14 职场文书
建筑工地大门标语
2014/06/18 职场文书
党员群众路线自我剖析材料
2014/10/06 职场文书
幼师小班个人总结
2015/02/12 职场文书
2015年村级财务管理制度
2015/08/04 职场文书