符合PSR的PHP編程規範實例

前言

好的代碼書寫習慣能夠讓人賞心悅目php

實例

<?php
namespace Standard; // 頂部命名空間
// 空一行
use Test\TestClass;//use引入類

/**
 * 類描述
 *
 * 類名必須大寫開頭駝峯.
 */
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...
    }
  }
}

糾錯

若是有寫的不對的地方歡迎你們指正,THX~函數

感謝

感謝@JellyBool,@waterloocode,@553234729提出的錯誤this

掃面下方二維碼關注個人技術公衆號,及時爲你們推送個人原創技術分享spa

圖片描述

相關文章
相關標籤/搜索