返回首页
当前位置: 首 页 > PHP初学 >

php编码规范

时间:2009-01-16 09:54来源:未知 作者:掂量 点击:
1。概述 对于只包含php代码的文件,禁止使用“?>”,这不是必须的.不包含它可以阻止尾部的空白字符不经意间注入到输出流.
  

1。概述
对于只包含php代码的文件,禁止使用“?>”,这不是必须的.不包含它可以阻止尾部的空白字符不经意间注入到输出流.(也要注意“<?”前面的空白字符,问题虽小但是致命的);
重要:包含任意__HALT_COMPILER() 允许的二进制数据将阻止被从他们获得的Zend framework PHP 文件
2。缩进:使用4个空格,而不是tab
3。行最大长度:
目标行长度是80个字符,事实上IE开发者目标保80列存代码;然而更长的行是可以被接受的。php每一行最大长度是120个字符;
4。行结束:使用Unix 文版文件标准使用LF(10,0x0A)结束;
5。编码格式:
代码仅限使用完全格式,标准标签:
<?php
?>
6。字符:
a) 常用单引号包括

$a = 'Example String';

b) 如果包含`符号,建立使用双引号

$sql = "SELECT `id`, `name` from `people` WHERE `name`='Fred' OR `name`='Susan'";

c) 插入变量使用一下格式

$greeting = "Hello $name, welcome back!";
$greeting = "Hello {$name}, welcome back!";

禁止使用$greeting = "Hello ${name}, welcome back!";

7。字符连接:
a) 使用.符号连接,其中.号前后需要空格增加可读性

$company = 'Zend' . 'Technologies';

b) 多行时以.号开头,与=号对齐

$sql = "SELECT `id`, `name` FROM `people` "
      . "WHERE `name` = 'Susan' "
      . "ORDER BY `name` ASC ";

8.数组格式:
$sampleArray = array(1, 2, 3, 'Zend', 'Studio');

$sampleArray = array(1, 2, 3, 'Zend', 'Studio',
          $a, $b, $c,
          56.44, $d, 500);

$sampleArray = array('firstKey' => 'firstValue',
        'secondKey' => 'secondValue');
9.类:
/**
   * Documentation Block Here
   */
class SampleClass
{  
   // entire content of class   
   // must be indented four spaces
}
声明变量可见性(public,protected,private),不要使用var(用于反射机制),不能确定时使用public

注意:类名如果是Zend_Controller_Dispatcher_Interface对应的文件名一定是Zend/Controller/Dispatcher/Interface.php,不然将出现找不到类的异常;

严格区分大小写;

在我们自己类定义时使用前缀Kyxz_并将类放到01kj\library\Kyxz\目录相应的文件中

10.文件路径:

文件路径名不能出现_且第一个字母必须大写;

文件名路径名必须与类名一致,存在严格的对应关系;

Zend/Controller/Front.php <----> Zend/Controller/Front.php

11.方法:注意格式,空格,换行,对齐

方法名使用第一个字母小写格式,如getElementById,最好是动名词格式,具有一定含义,指明其功能用途;对属性访问要严格指明get\set操作;

   抛出异常时必须添加@throws exceptionclass [description]

12.属性:如果是protected,private一定要以_开始;如protected $_conn;

   常量属性必须全部大写

13.流程控制语句
a) if/elseif/else
if ($a != 2) {
     $a = 2;
}

if ($a != 2) {
     $a = 2;
} else {
     $a = 7;
}

if ($a != 2) {
     $a = 2;
} elseif ($a == 3) {
     $a = 4;
} else {
     $a = 7;
}
b)switch:
switch ($numPeople) {
      case 1:
   break;
      case 2:
   break;
      default:
   break;
}

不能缺少default,即使没有用

14) 数据库:如果在数据字段名中使用“_”,将会被去掉,“_”后面的字母将会被改为大写

    要求所有数据表名,字段名使用小写字母,可以添加“_”,但是数据取出后将会被转换为驼峰式

    如:字段user_name将会被转换为userName

   建议:为了简单些,都使用全小写字母,不要出现“_”

15) images,css:必须使用相对于网站的绝对路径,以"/"开头

命名规则:

1) 下划线式: 常用于linux编程,标识符各字母之间使用“_”格开

2) 驼峰式: 常用于window编程,标识符各首字母大写,看起来相驼峰一样;类名首字母大写;方法,属性首字母小写;变量常使用i,s,...开头表示整数,字符串等变量类型

3) 比较:get_element_by_id <------->getElementById

16) 字符串操作使用mb_str...函数(见帮助文档)

17) 包含文件是使用require_once不要借助于__autoload()函数,效率问题

参考:
http://framework.zend.com/manual/zh/coding-standard.php-file-formatting.html

标签: 编码规范
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
发布者资料
掂量 查看详细资料 发送留言 加为好友 用户等级:高级会员 注册时间:2009-01-05 00:01 最后登录:2010-01-12 12:01
推荐内容