PSR : php编码规范
2016-10-11 00:00
351 查看
诸王混战
关于开发标准这块,可以说一直都是风格迥异,各家都有各家的玩法,民间更是个人玩个人的。目前我们国内比较出名的几个框架(Yii,Laravel) 都已经支持Composer并且加入了PHP-FIG(php框架程序组)。其中Composer的自动加载就支持PHP-FIG指定的PSR-0 和 PSR-4 规范来实现自动加载机制,并且Composer推荐使用PSR-4
PHP-FIG
这是一个自愿非正式的机构,但是就目前对我们的影响来看,可能都已经默认为一个公信组织了,的的确确制定了不少非常好的规范目前从官网看,已经投票( http://www.php-fig.org/psr/ )通过的有7个大的规范了
PSR-0 自动加载规范 ( 官方已废弃,主要是php5.3以前没有命名空间 )
PSR-1 编码规范
PSR-2 编码风格推荐
PSR-3 日志接口
PSR-4 改进的自动加载规范( 官方推荐 ,规范更简洁调理清晰了)
PSR-6 缓存接口
PSR-7 HTTP消息接口
Composer自动加载
在Composer 依赖管理工具实现的autoload 推荐第三方依赖库或者项目使用 PSR-4,但是Composer本身 也是向下兼容PSR-0的博文(Composer : php依赖管理工具)中演示代码中,安装了两个库
phpexcel
monolog
这两个库,phpexcel 实现的是PSR-0规范,monolog实现的确实PSR-4规范,这是从各自库目录下面的composer.json文件得知的
PSR-0 与 PSR-4 区别
其实PSR-0 和 PSR-4 在内容上差异不大,这里也就不说定义了PSR-0中最后一个\之后的类名,如有下划线会转化成路径分隔符 如Name_Space_Test会转换成Name\Space\Test.php,这是出于对PHP5.3以前版本兼容的考虑
PSR-0有更深的目录结构,比如定义了NS为 Foo\Bar=>vendor\foo\bar\src,use Foo\Bar\Tool\Request调用NS。
如果以PSR-0方式加载,实际的目录为vendor\foo\bar\src\Foo\Bar\Tool\Request.php
如果以PSR-4方式加载,实际目录为vendor\foo\bar\src\Tool\Request.php
参考文档
php-fig中文版: https://github.com/PizzaLiu/PHP-FIGphp-fig官网:http://www.php-fig.org/
原文地址:
PSR : php编码规范
标签:
psr
composer
autoload
php-fig
yii
laravel
智能推荐
In MySQL, a zero number equals any stringSquid 操作实践
【No.1 Ionic】基础环境配置
Composer : php依赖管理工具
phpexcel 内存溢出 优化
相关文章推荐
- PHP编码规范之PSR-4
- PHP编码规范(PSR-3)-日志接口规范
- PHP编码规范与PSR标准
- php应该遵循什么样的编码规范?PHP符合PSR编程规范示例
- PSR规范--php编码规范
- PHP编码规范(PSR-1)-基本代码规范
- PHP编码规范PSR-1
- PSR : php编码规范
- PHP编码规范之PSR-1
- PHP编码规范(PSR-2)-代码风格规范
- PSR : php编码规范
- PSR : php编码规范
- PHP编码规范之PSR-4自动加载
- php应该遵循什么样的编码规范?PHP符合PSR编程规范示例
- PSR : php编码规范
- PHP编码规范(PSR-4)-Autoloader 自动加载
- PHP编码规范(PSR)的简述
- PHP编码规范之PSR-2
- PHP PSR 1-4 编码规范
- 我也学php:编码规范/翻译自PSR