欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP符合PSR編程規(guī)范的實(shí)例分享

 更新時(shí)間:2016年12月21日 16:34:39   投稿:daisy  
好的代碼書寫習(xí)慣可以讓人賞心悅目,下面這篇文章就給大家分享了PHP符合PSR編程規(guī)范的實(shí)例代碼,有需要的朋友們可以參考借鑒,下面來一起看看吧。

前言

關(guān)于開發(fā)標(biāo)準(zhǔn)這塊,可以說一直都是風(fēng)格迥異,各家都有各家的玩法,民間更是個(gè)人玩?zhèn)€人的。目前我們國內(nèi)比較出名的幾個(gè)框架(Yii,Laravel) 都已經(jīng)支持Composer并且加入了PHP-FIG(php框架程序組)。

其中Composer的自動加載就支持PHP-FIG指定的PSR-0 和 PSR-4 規(guī)范來實(shí)現(xiàn)自動加載機(jī)制,并且Composer推薦使用PSR-4

PHP-FIG

這是一個(gè)自愿非正式的機(jī)構(gòu),但是就目前對我們的影響來看,可能都已經(jīng)默認(rèn)為一個(gè)公信組織了,的的確確制定了不少非常好的規(guī)范

目前從官網(wǎng)看,已經(jīng)投票( http://www.php-fig.org/psr/  )通過的有7個(gè)大的規(guī)范了

  1. PSR-0 自動加載規(guī)范 ( 官方已廢棄,主要是php5.3以前沒有命名空間 )
  2. PSR-1 編碼規(guī)范
  3. PSR-2 編碼風(fēng)格推薦
  4. PSR-3 日志接口
  5. PSR-4 改進(jìn)的自動加載規(guī)范( 官方推薦 ,規(guī)范更簡潔調(diào)理清晰了)
  6. PSR-6 緩存接口
  7. PSR-7 HTTP消息接口

實(shí)例

<?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 = ''; // 類私有成員屬性,【個(gè)人建議】下劃線小寫開頭駝峰

 /**
  * 構(gòu)造函數(shù).
  *
  * 構(gòu)造函數(shù)描述
  *
  * @param string $value 形參名稱/描述
  */
 public function __construct($value = '')// 成員方法必須添加public(不能省略), private, protected修飾符
 {// {}必須換行

  $this->nameTest = new TestClass();

  // 鏈?zhǔn)讲僮?
  $this->nameTest->functionOne()
          ->functionTwo()
          ->functionThree();

  // 一段代碼邏輯執(zhí)行完畢 換行
  // code...
 }

 /**
  * 成員方法名稱.
  *
  * 成員方法描述
  *
  * @param string $value 形參名稱/描述
  *
  * @return 返回值類型    返回值描述
  * 返回值類型:string,array,object,mixed(多種,不確定的),void(無返回值)
  */
 public function testFunction($value = '')// 成員方法必須小寫開頭駝峰
 {
   // code...
 }

 /**
  * 成員方法名稱.
  *
  * 成員方法描述
  *
  * @param string $value 形參名稱/描述
  *
  * @return 返回值類型    返回值描述
  */
 private function _privateTestFunction($value = '')// 私有成員方法【個(gè)人建議】下劃線小寫開頭駝峰
 {
   // 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  = '', // 變量命名可小寫開頭駝峰或者下劃線命名,個(gè)人那習(xí)慣,據(jù)說下劃線可讀性好
  $valueTwo  = '',
  $valueThree = '',
  $valueFour = '',
  $valueFive = '',
  $valueSix  = '')// 參數(shù)過多換行
 {
  if ($valueOne === $valueTwo) {// 控制結(jié)構(gòu)=>后加空格,同{一行,(右邊和)左邊不加空格
   // 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...
  }
 }
}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

最新評論