php编码规范

php编码标准

类:

1.类名用大驼峰命名法,如FooTest,文件名用小写.class.php,如footest.class.php,,大括号独立成行

2.类中方法用小驼峰,如testFunction(),大括号独立成行

3.类中属性

4.类中属性变量用小写,多个单词用_分割

5.暴露给用户的,如控制器类中的方法用小写,便于统一网址风格

6.类中常量用大写,多个单词用_分割

7.类中静态变量小写,且加s_前缀,比较直观

8.需要用abstract,final,必须写在修饰符前面,static写在修饰符后面

9.参数过多,分成多列的时候,每列单独成行

其余

1.运算符前后都需要空格如+,-,*,.,/等,比较运算符==, >=,三元运算符?:

2.if/elif/else/foreach/for/while/do等,右大括号单独成行,左大括号不单独成行,关键词和左大括号之间空一格

3.局部变量用小写,多个单词用_分割

4.函数名用小写,多个单词用_分割

5.false,true,null等所有关键词必须小写

6.方法中的参数每个逗号后面空格,其余不空格

7.左括号前空一格

8.不多加无意义的变量,如 $a = strtolower($b);return $a;直接return strtolower($b);

示例:

<?php

/**
 * Created by PhpStorm.
 * User: Ant
 * Version: 1.0
 * Date: 2017/5/7
 * Time: 16:32
 */

define("MALE", 0);
define("FAMALE", 1);

/**
 * abstract class
 */

abstract class Father
{
    abstract public function run();
}

/**
 * test class
 */
class FooBar extends Father
{
    const ADULT = 1;

    private $sex;
    protected $age;

    /*
     * contruct
     * @param int $sex
     * @param int $age
     */
    public  function __construct($sex, $age)
    {
        $this->sex = $sex;
        $this->age = $age;
    }

    /*
     * run
     */
    public function run()
    {
        echo $this->age . '|' . $this->sex;
    }

    /*
     * return array
     */
    public function info()
    {
        return array($this->sex, $this->age);
    }

    /*
     * set age
     * @param int $age
     */
    public function setAge($age)
    {
        $this->age = $age;
    }

    /*
     *  @param string $val
     */
    public static function factory($val)
    {
        if ('mysql' === $val) {
            return new MySql();
        } else {
            return new MySqli();
        }
    }

    /*
     *  @return boolean
     */
    final public function isAdult()
    {
        return $this->age > self::ADULT ? true : false;
    }

    public function doCalc()
    {
        for ($i=0; $i<10; $i++) {
            //...........
        }

        if ($i < 10) {
            //...........
        } elseif ($i<20) {
            //...........
        } else {
            //...........
        }
    }
}

$age = 100;
$foo_bar = new FooBar($age, FAMALE);
$foo_bar->run();
$foo_bar->setAge(200);