PHP符合PSR编程规范的实例分享

前端之家收集整理的这篇文章主要介绍了PHP符合PSR编程规范的实例分享前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

前言

关于开发标准这块,可以说一直都是风格迥异,各家都有各家的玩法,民间更是个人玩个人的。目前我们国内比较出名的几个框架(Yii,Laravel) 都已经支持Composer并且加入了PHP-FIG(PHP框架程序组)。

其中Composer的自动加载就支持PHP-FIG指定的PSR-0 和 PSR-4 规范来实现自动加载机制,并且Composer推荐使用PSR-4

PHP-FIG

这是一个自愿非正式的机构,但是就目前对我们的影响来看,可能都已经默认为一个公信组织了,的的确确制定了不少非常好的规范

目前从官网看,已经投票( http://www.PHP-fig.org/psr/ )通过的有7个大的规范了

  1. PSR-0 自动加载规范 ( 官方已废弃,主要是PHP5.3以前没有命名空间 )
  2. PSR-1 编码规范
  3. PSR-2 编码风格推荐
  4. PSR-3 日志接口
  5. PSR-4 改进的自动加载规范( 官方推荐 ,规范更简洁调理清晰了)
  6. PSR-6 缓存接口
  7. PSR-7 HTTP消息接口
  8. @H_404_31@

    实例

    /**

    • 类描述
    • 类名必须大写开头驼峰.
      */
      abstract class StandardExample // {}必须换行
      {
      /**
    • 常量描述.
    • @var string
      */
      const THIS_IS_A_CONST = ''; // 常量全部大写下划线分割

    /**

    • 属性描述.
    • @var string
      */
      public $nameTest = ''; // 属性名称建议开头小写驼峰
      // 成员属性必须添加public(不能省略), private,protected修饰符

    /**

    • 属性描述.
    • @var string
      */
      private $_privateNameTest = ''; // 类私有成员属性,【个人建议】下划线小写开头驼峰

    /**

    • 构造函数.
    • 构造函数描述
    • @param string $value 形参名称/描述
      */
      public function __construct($value = '')// 成员方法必须添加public(不能省略), private,protected修饰符
      {// {}必须换行

    $this->nameTest = new TestClass();

    // 链式操作
    $this->nameTest->functionOne()
    ->functionTwo()
    ->functionThree();

    // 一段代码逻辑执行完毕 换行
    // code...
    }

    /**

    • 成员方法名称.
    • 成员方法描述
    • @param string $value 形参名称/描述
    • @return 返回值类型 返回值描述
    • 返回值类型:string,array,object,mixed(多种,不确定的),void(无返回值)
      */
      public function testFunction($value = '')// 成员方法必须小写开头驼峰
      {
      // code...
      }

    /**

    • 成员方法名称.
    • 成员方法描述
    • @param string $value 形参名称/描述
    • @return 返回值类型 返回值描述
      */
      private function _privateTestFunction($value = '')// 私有成员方法【个人建议】下划线小写开头驼峰
      {
      // code...
      }

    /**

    • 成员方法名称.
    • 成员方法描述
    • @param string $value 形参名称/描述
    • @return 返回值类型 返回值描述
      */
      public static function staticFunction($value = '')// static位于修饰符之后
      {
      // code...
      }

    /**

    • 成员方法名称.
    • 成员方法描述
    • @param string $value 形参名称/描述
    • @return 返回值类型 返回值描述
      */
      abstract public function abstractFunction($value = ''); // abstract位于修饰符之前

    /**

    • 成员方法名称.
    • 成员方法描述
    • @param string $value 形参名称/描述
    • @return 返回值类型 返回值描述
      */
      final public function finalFunction($value = '')// final位于修饰符之前
      {
      // code...
      }

    /**

    • 成员方法名称.
    • 成员方法描述
    • @param string $valueOne 形参名称/描述
    • @param string $valueTwo 形参名称/描述
    • @param string $valueThree 形参名称/描述
    • @param string $valueFour 形参名称/描述
    • @param string $valueFive 形参名称/描述
    • @param string $valueSix 形参名称/描述
    • @return 返回值类型 返回值描述
      */
      public function tooLangFunction(
      $valueOne = '',// 变量命名可小写开头驼峰或者下划线命名,个人那习惯,据说下划线可读性好
      $valueTwo = '',$valueThree = '',$valueFour = '',$valueFive = '',$valueSix = '')// 参数过多换行
      {
      if ($valueOne === $valueTwo) {// 控制结构=>后加空格,同{一行,(右边和)左边不加空格
      // code...
      }

    switch ($valueThree) {
    case 'value':
    // code...
    break;

    default:
    // code...
    break;
    }

    do {
    // code...
    } while ($valueFour <= 10);

    while ($valueFive <= 10) {
    // code...
    }

    for ($i=0; $i < $valueSix; $i++) {
    // code...
    }
    }
    }

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

猜你在找的PHP相关文章