PHP代码中应该只定义类、函数、常量等声明,或其他会产生 从属效应 的操作(如:生成文件输出以及修改.ini配置文件等),二者只能选其一
PHP 5.3及以后版本的代码必须使用正式的命名空间(伪命名空间是用_来分隔类名),类的命名必须是大写开头的驼峰命名法
类(此处指代所有的类、接口、性状traits):类常量所有字母必须大写,词间用_分隔;类的属性不做强制要求,可用大驼峰、小驼峰或下划线分隔,但必须保持一致;类方法使用小驼峰
缩进使用4个空格
每行字符数应该软性保持在80个以内,理论上一定不可多于120个,但一定不能有硬性限制
每个namespace命名空间声明语句 和 use声明语句块(不是每一条都要空行) 后面,必须插入一个空白行
类和方法的花括号自成一行(控制结构不同,后面说)
类的属性和方法必须添加访问修饰符(protected, private, public),且abstract, final必须在访问修饰符之前,而static必须声明在访问修饰符之后
控制结构的关键字后必须有一个空格符,调用方法或函数的时候则一定不能有
控制结构的开始花括号写在声明的同一行,结束花括号自成一行,且开始花括号后 和 结束花括号前,一定不能有空格符
所有PHP文件必须使用Unix LF作为行的结束符(\n),必须以一个空白行作为结束,纯PHP代码文件必须省略最后的?>
每行一定不能存在多于一条语句,非空行后一定不能有多余的空格符
PHP所有关键字必须全部小写,包括true, false, null也是
类、接口、性状的关键字extends和implements必须写在类名称的同一行
每条语句一定不可以定义超过一个属性
参数列表可以分列成多行,这样,包括第一个参数在内的每个参数都必须单独成行,同时结束括号以及方法开始的花括号必须写在单独的同一行,中间用空格分隔
PSR2补充:使用一个或多个多行参数,如数组或匿名参数,将[留在第一行,将]留在与下一个参数同一行
日志接口规范,TODO,使用到的时候再补充
以下的类泛指所有的class类、接口、traits可复用代码块以及其它类似结构
一个完整的类名需要有以下的结构:\<命名空间>(\<子命名空间>)*\<类名>
完整的类名中,去掉最前面的命名空间分隔符,前面连续的一个或多个命名空间和子命名空间,作为“命名空间前缀”,其必须与至少一个“文件基目录”相对应
紧接命名空间前缀后的子命名空间必须与相应的”文件基目录“相匹配,其中的命名空间分隔符将作为目录分隔符
末尾的类名必须与对应的以 .php 为后缀的文件同名
自动加载器(autoloader)的实现一定不能抛出异常、一定不能触发任一级别的错误信息以及不应该有返回值
© 著作权归作者所有
写了 15834 字,被 1 人关注,获得了 2 个喜欢
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
赞赏支持
评论
智慧如你,不想发表一点想法咩~
被以下专题收入,发现更多相似内容
我的专题