用 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 相关文章推荐
实用函数5
Nov 08 PHP
PHP自定义函数收代码
Aug 01 PHP
openflashchart 2.0 简单案例php版
May 21 PHP
浅析php header 跳转
Jun 17 PHP
PHP浮点数的一个常见问题
Mar 10 PHP
php 二维数组时间排序实现代码
Nov 19 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
thinkphp5框架实现的自定义扩展类操作示例
May 16 PHP
php面向对象程序设计中self与static的区别分析
May 21 PHP
laradock环境docker-compose操作详解
Jul 29 PHP
php在linux环境中如何使用redis详解
Dec 15 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
php学习之简单计算器实现代码
2011/06/09 PHP
基于php split()函数的用法详解
2013/06/05 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
2013/07/05 PHP
php中并发读写文件冲突的解决方案
2013/10/25 PHP
JavaScript使用cookie
2007/02/02 Javascript
简单的前端js+ajax 购物车框架(入门篇)
2011/10/29 Javascript
js Function类型
2011/12/04 Javascript
json数据与字符串的相互转化示例
2013/09/18 Javascript
JQuery操作单选按钮以及复选按钮示例
2013/09/23 Javascript
jquery插件jSignature实现手动签名
2015/05/04 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
2015/05/16 Javascript
分享12个实用的jQuery代码片段
2016/03/09 Javascript
vue实现验证码输入框组件
2017/12/14 Javascript
Vue实现active点击切换方法
2018/03/16 Javascript
使用Angular CLI进行Build(构建)和Serve详解
2018/03/24 Javascript
python支持断点续传的多线程下载示例
2014/01/16 Python
在python中的socket模块使用代理实例
2014/05/29 Python
基于Python测试程序是否有错误
2020/05/16 Python
Python爬虫HTPP请求方法有哪些
2020/06/03 Python
python不同系统中打开方法
2020/06/23 Python
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
2017/08/18 HTML / CSS
美国购车网站:TrueCar
2016/10/19 全球购物
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
美国性感女装网站:bebe
2017/03/04 全球购物
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
德国购买门票网站:ADticket.de
2019/10/31 全球购物
介绍一下游标
2012/01/10 面试题
财经学院自荐信范文
2014/02/02 职场文书
秋季运动会广播稿大全
2014/02/17 职场文书
丧事主持词大全
2014/04/02 职场文书
春季防火方案
2014/05/10 职场文书
投标文件签署授权委托书范本
2014/10/12 职场文书
导游词之嵊泗列岛
2019/10/30 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸