php yaf和PEAR代码命名规范
将yaf的官方文档,通读了一遍,也动手实验了几把,感觉很不错,让人不得不佩服。虽然目前还没有将yaf运用到生产环境,但相信以后会用得上。
官方文档:https://yaf.laruence.com/manual/ (PS:^_^不错的php开发学习交流群:256271784,验证:csl,有兴趣的话可以加入进来一起讨论)
作了几年的PHPer,一直以来都是打酱油,虽然是打酱油,不过相信,酱油缸终会有点积累。写了不少代码,终觉得代码没有美感,结合yaf的代码命名规范及PEAR命名规范,我要严格控制一下代码的命名规范(事实上早就应该重视起来),看起来专业点儿。
1.通用规则
所有文件及文件夹命名都采用小写(yaf要求mvc中的model,controller,plugin等类文件有另外的规范除外),多个单词以下划线做分隔,命名时采用标准的英文(英文简写),不采用拼写与英文的混合
2.类的命名
类名由多个单词组成(yaf要求mvc中的model,controller,plugin等类名有另外的规范除外),每个单词的首字母大写,单词之间用下划线连接,应注意类与父目录之间的关系, 通常“目录名_类名”, 目录首字母和类首字母大写
3.方法或者函数命名
多个单词组成,除第一个单词除外其余单词首字母大写( 驼峰命名 )
4. 变量命名
全小写字母,单词用下划线分割(非驼峰)
上面的内容好像太少了,找到:
https://pear.php.net/manual/en/standards.php
理解一下消化一下:
1.缩进及行的长度
缩进4个空格,而不是tab(有些编辑器可以配置一个tab代表多个空格,注意是空格);每行保持大约75-85个字符的长度
2.控制结构
这个部分最容易忽略,也是影响代码美感最重要的方面,例子很详细了,受益匪浅。
[php]
1
<?php
2
if ((condition1) || (condition2)) {
3
action1;
4
} elseif ((condition3) && (condition4)) {
5
action2;
6
} else {
7
defaultaction;
8
}
9
?>
[php]
1
<?php
2
switch (condition) {
3
case 1:
4
action1;
5
break;
6
7
case 2:
8
action2;
9
break;
10
11
default:
12
defaultaction;
13
break;
14
}
15
?>
[php]
1
<?php
2
3
if (($condition1
4
|| $condition2)
5
&& $condition3
6
&& $condition4
7
) {
8
//code here
9
}
10
?>
[php]
1
<?php
2
3
$a = $condition1 && $condition2
4
? $foo : $bar;
5
6
$b = $condition3 && $condition4
7
? $foo_man_this_is_too_long_what_should_i_do
8
: $bar;
9
?>
3.函数调用
[php]
1
<?php
2
$var = foo($bar, $baz, $quux);
3
$short = foo($bar);
4
$long_variable = foo($baz);
5
?>
4.类名规范
[php
1
<?php
2
class Foo_Bar
3
{
4
5
//... code goes here
6
7
}
8
?>
5.方法名规范(驼峰命名 )
[php]
1
<?php
2
function fooFunction($arg1, $arg2 = '')
3
{
4
if (condition) {
5
statement;
6
}
7
return $val;
8
}
9
?>
6.Arrays定义规范
[php]
1
<?php
2
3
$some_array = array(
4
'foo' => 'bar',
5
'spam' => 'ham',
6
);
7
?>
7.注释
https://pear.php.net/manual/en/standards.sample.php
https://pear.php.net/manual/en/standards.header.php
8.Including Code
任何时候都应该采用include_once或者require_once
require_once ‘foo.php’
9.PHP Code Tags
1
<?php ?>
10.全局变量及函数的命名
如果你的包需要定义全局变量,他们的名字应该开始以一个单下划线紧随其后的是包名和另一个下划线。例如,PEAR包使用一个全局变量名为 $_PEAR_destructor_object_list;全局函数采用驼峰命名,同时为了避免命名冲突,应该为全局函数加上包名紧接着一个下划线作为全局函数命名的前缀
11.类属性
全小写字母,单词用下划线分割,注意受保护和私有的属性以下划线开始
12.常量
常量单词全部大写,多个单词用下划线分隔,注意以包名作为常量的前缀可以避免命名冲突
13.文件格式
采用utf-8文件编码,以LF(换行符)作为每行的结束,在PHP的关闭标签?>之后应该还有一个LF
14.错误级别设置
E_ALL | E_STRICT
15.异常处理
https://pear.php.net/manual/en/standards.errors.php
16.PEAR2新增规则
https://pear.php.net/manual/en/pear2cs.rules.php
下一篇: PHP操作MongoDB数据库