zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    简单封装万维易源(showapi)ip归属地查询接口
    修改七牛上传域名
    深度探索C++对象模型 个人总结 第四章 Function语意学
    深度探索C++对象模型 个人总结 第三章 Data语意学
    深度探索C++对象模型 个人总结 第二章 构造函数语意学
    深度探索C++对象模型 个人总结 第一章 关于对象
    《More Effective C++》 个人总结
    《Effective C++》个人总结
    C++ Primer第5版 第十九章课后练习答案
    C++ Primer第5版 第十八章课后练习答案
  • 原文地址:https://www.cnblogs.com/itfenqing/p/6821357.html
Copyright © 2011-2022 走看看