用 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下安装配置fckeditor编辑器的方法
Mar 02 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
Apr 02 PHP
ThinkPHP权限认证Auth实例详解
Jul 22 PHP
如何让thinkphp在模型中自动完成session赋值小教程
Sep 05 PHP
PHP设计模式之装饰者模式代码实例
May 11 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
Mar 17 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
Jun 28 PHP
thinkPHP内置字符串截取函数用法详解
Nov 15 PHP
浅谈PHP的反射机制
Dec 15 PHP
PHP网站自动化配置的实现方法(必看)
May 27 PHP
PHP后台实现微信小程序登录
Aug 03 PHP
PHP实现用session来实现记录用户登陆信息
Oct 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与SQL注入攻击[二]
2007/04/17 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
jquery下json数组的操作实现代码
2010/08/09 Javascript
基于jquery的3d效果实现代码
2011/03/23 Javascript
可在线编辑网页文字效果代码(单击)
2013/03/02 Javascript
JavaScript监听和禁用浏览器回车事件实例
2015/01/31 Javascript
跟我学习javascript的函数调用和构造函数调用
2015/11/16 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
Vue.js基础学习之class与样式绑定
2017/03/20 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
python使用pil生成缩略图的方法
2015/03/26 Python
python中pass语句用法实例分析
2015/04/30 Python
剖析Python的Twisted框架的核心特性
2016/05/25 Python
利用Python实现在同一网络中的本地文件共享方法
2018/06/04 Python
关于Python形参打包与解包小技巧分享
2019/08/24 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
2020/02/27 Python
python怎么自定义捕获错误
2020/06/29 Python
科尔士百货公司官网:Kohl’s
2016/07/11 全球购物
Jack Rogers官网:美国经典的女性鞋靴品牌
2019/09/04 全球购物
化工工艺专业求职信
2013/09/22 职场文书
小区门卫工作职责
2013/12/14 职场文书
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
房务中心文员岗位职责
2014/04/16 职场文书
民间借贷协议书范本
2014/10/01 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
社区挂职锻炼个人工作总结
2015/10/23 职场文书
消防安全培训工作总结
2015/10/23 职场文书
告诉你创业计划书的8个实用技巧
2019/07/12 职场文书
小学记事作文之200字
2019/08/06 职场文书
python使用openpyxl库读写Excel表格的方法(增删改查操作)
2021/05/02 Python
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python
使用CSS定位HTML元素的实现方法
2022/07/07 HTML / CSS