用 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 相关文章推荐
PHP5函数小全(分享)
Jun 06 PHP
Linux下安装PHP MSSQL扩展教程
Oct 24 PHP
php使用str_replace实现输入框回车替换br的方法
Nov 24 PHP
PHP编译安装时常见错误解决办法
May 28 PHP
8个PHP数组面试题
Jun 23 PHP
php无法连接mysql数据库的正确解决方法
Jul 01 PHP
PHP打印输出函数汇总
Aug 28 PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
Sep 21 PHP
验证坐标在某坐标区域内php代码
Oct 08 PHP
php处理静态页面:页面设置缓存时间实例
Jun 22 PHP
ThinkPHP5框架缓存查询操作分析
May 30 PHP
如何用RabbitMQ和Swoole实现一个异步任务系统
May 29 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中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
php实现快速排序法函数代码
2012/08/27 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
2018/06/09 PHP
JavaScript基础语法让人疑惑的地方小结
2012/05/23 Javascript
jQuery ajax serialize() 方法使用示例
2014/11/02 Javascript
使用jQuery实现验证上传图片的格式与大小
2014/12/03 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
jQuery的Scrollify插件实现滑动到页面下一节点
2015/07/05 Javascript
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
2015/08/12 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
javascript之with的使用(阿里云、淘宝使用代码分析)
2016/10/11 Javascript
js遍历获取表格内数据的方法(必看)
2017/04/06 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
详谈for循环里面的break和continue语句
2017/07/20 Javascript
layui 表格的属性的显示转换方法
2018/08/14 Javascript
jQuery常见的遍历DOM操作详解
2018/09/05 jQuery
Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)
2019/10/23 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
2020/07/28 Javascript
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
[56:14]Fnatic vs OG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
通过mod_python配置运行在Apache上的Django框架
2015/07/22 Python
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
python+pandas生成指定日期和重采样的方法
2018/04/11 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/27 Python
对Xpath 获取子标签下所有文本的方法详解
2019/01/02 Python
在django admin中添加自定义视图的例子
2019/07/26 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
python 字典访问的三种方法小结
2019/12/05 Python
python中如何写类
2020/06/29 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
python基于selenium爬取斗鱼弹幕
2021/02/20 Python
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
毕业自荐信
2013/12/16 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书