转载:PHP标准规范 PHP-FIG

PSR 是 PHP Standard Recommendations 的简写,由 PHP FIG 组织制定的 PHP 规范,是 PHP 开发的实践标准。

PHP FIG,FIG 是 Framework Interoperability Group(框架可互用性小组)的缩写,由几位开源框架的开发者成立于 2009 年,从那开始也选取了很多其他成员进来(包括但不限于 Laravel, Joomla, Drupal, Composer, Phalcon, Slim, Symfony, Zend Framework 等),虽然不是「官方」组织,但也代表了大部分的 PHP 社区。

项目的目的在于:通过框架作者或者框架的代表之间讨论,以最低程度的限制,制定一个协作标准,各个框架遵循统一的编码规范,避免各家自行发展的风格阻碍了 PHP 的发展,解决这个程序设计师由来已久的困扰。

目前已表决通过了 6 套标准,已经得到大部分 PHP 框架的支持和认可。

本项目的主要面向对象是所有参与的各个成员(也就是各自框架的社区),这里是完整的 成员列表,当然,同时也欢迎其它 PHP 社区采用本规范。

此中文翻译由 @Summer 维护,主要针对「已通过」的 PSR 进行翻译,排版遵照 中文文案排版指北,更多讨论请前往 PHPHub

按表决情况索引

已通过

序号 标题 撰稿者 协调者 发起人
1 基础编码规范 Paul M. Jones N/A N/A
2 编码风格规范 Paul M. Jones N/A N/A
3 日志接口规范 Jordi Boggiano N/A N/A
4 自动加载规范 Paul M. Jones Phil Sturgeon Larry Garfield
6 缓存接口规范 Larry Garfield Paul Dragoonis Robert Hafner
7 HTTP 消息接口规范 Matthew Weier O’Phinney Beau Simensen Paul M. Jones

审查中

序号 标题 撰稿者 协调者 发起人

起草中

序号 标题 撰稿者 协调者 发起人
5 PHPDoc 标准 Mike van Riel Vacant Vacant
8 Huggable 接口 Larry Garfield Vacant Paul M. Jones
9 项目安全问题公示 Lukas Kahwe Smith Korvin Szanto Larry Garfield
10 项目安全上报方法 Lukas Kahwe Smith Larry Garfield Korvin Szanto
11 服务容器接口 Matthieu Napoli, David Négrier Paul M. Jones Vacant
12 全量编码风格规范 Korvin Szanto Alexander Makarov Robert Deutz
13 超媒体链接 Larry Garfield Matthew Weier O’Phinney Evert Pot

已废弃

序号 标题 撰稿者 协调者 发起人
0 自动加载规范 Matthew Weier O’Phinney N/A N/A

按照数字索引

状态 序号 标题 撰稿者 协调者 发起人
X 0 自动加载规范 Matthew Weier O’Phinney N/A N/A
A 1 基础编码规范 Paul M. Jones N/A N/A
A 2 编码风格规范 Paul M. Jones N/A N/A
A 3 日志接口规范 Jordi Boggiano N/A N/A
A 4 自动加载规范 Paul M. Jones Phil Sturgeon Larry Garfield
D 5 PHPDoc 标准 Mike van Riel Vacant Vacant
A 6 缓存接口规范 Larry Garfield Paul Dragoonis Robert Hafner
A 7 HTTP 消息接口规范 Matthew Weier O’Phinney Beau Simensen Paul M. Jones
D 8 Huggable 接口 Larry Garfield Vacant Paul M. Jones
D 9 项目安全问题公示 Lukas Kahwe Smith Korvin Szanto Larry Garfield
D 10 项目安全上报方法 Lukas Kahwe Smith Larry Garfield Korvin Szanto
D 11 服务容器接口 Matthieu Napoli, David Négrier Paul M. Jones Vacant
D 12 全量编码风格规范 Korvin Szanto Alexander Makarov Robert Deutz
D 13 超媒体链接 Larry Garfield Matthew Weier O’Phinney Evert Pot

说明: A (Accepted) = 已通过 | D (Draft) = 起草中 | R (Review) = 审查中 | X (Deprecated) = 已废弃

lnmp的一些常用命令

LNMP状态管理命令:
LNMP 1.2状态管理: lnmp {start|stop|reload|restart|kill|status}
LNMP 1.2各个程序状态管理: lnmp {nginx|mysql|mariadb|php-fpm|pureftpd} {start|stop|reload|restart|kill|status}
LNMP 1.1状态管理: /root/lnmp {start|stop|reload|restart|kill|status}
Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}
MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
Memcached状态管理:/etc/init.d/memcached {start|stop|restart}
PHP-FPM状态管理:/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
PureFTPd状态管理: /etc/init.d/pureftpd {start|stop|restart|kill|status}
ProFTPd状态管理: /etc/init.d/proftpd {start|stop|restart|reload}
如重启LNMP,输入命令:/root/lnmp restart 即可,单独重启mysql:/etc/init.d/mysql restart

##添加网站(虚拟主机)##

执行:lnmp vhost add

删除lamp创建虚拟机关联文件夹的命令
[root@iZ94orvma5bZ www]# chattr -i thinkphp5/.user.ini
[root@iZ94orvma5bZ www]# rm -rf thinkphp5/

php 编译安装后设置环境变量可以使用php -v -m等命令

Vi打开~/.bashrc,在末尾添加如下内容:

export PATH=/usr/local/php/bin:$PATH
export PATH=/usr/local/php/sbin:$PATH
保存后,终端输入命令:

source ~/.bashrc
此时即可通过php –version查看php版本,看到如下内容:

PHP 5.5.10 (cli) (built: Apr 26 2014 09:46:14)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

关于设置mysql_mode的一些问题

安装lnmp1.3完成后使用SELECT @@sql_MODE 查询sql_mode得出的结果为空,因为程序需要
把sql_mode 设置为sql_mode = ‘NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’,
因此在sql中执行

SET sql_mode=`NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION`;
SET global sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

 

再执行
SELECT @@sql_MODE;

得出结果为NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ,大喜,以为成功了,遂重启sql,再试一下SELECT @@sql_MODE ,得出的结果为空,悲,不生效!!!!
不服
在  /etc/my.cnf  最后添加一行
sql_mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”

重启sql,SELECT @@sql_MODE 出来的结果还是空,不生效!!

后来将sql_mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” 放到my.cnf [mysqld]中,才解决了问题!!!

记录下来,让以后不再踩坑!