最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

前言

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

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

PHP-FIG

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

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

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

實(shí)例

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

/**
 * 類描述
 *
 * 類名必須大寫開(kāi)頭駝峰.
 */
abstract class StandardExample // {}必須換行
{
  /**
  * 常量描述.
  *
  * @var string
  */
 const THIS_IS_A_CONST = ''; // 常量全部大寫下劃線分割

 /**
  * 屬性描述.
  *
  * @var string
  */
 public $nameTest = ''; // 屬性名稱建議開(kāi)頭小寫駝峰
            // 成員屬性必須添加public(不能省略), private, protected修飾符

 /**
  * 屬性描述.
  *
  * @var string
  */
 private $_privateNameTest = ''; // 類私有成員屬性,【個(gè)人建議】下劃線小寫開(kāi)頭駝峰

 /**
  * 構(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(無(wú)返回值)
  */
 public function testFunction($value = '')// 成員方法必須小寫開(kāi)頭駝峰
 {
   // code...
 }

 /**
  * 成員方法名稱.
  *
  * 成員方法描述
  *
  * @param string $value 形參名稱/描述
  *
  * @return 返回值類型    返回值描述
  */
 private function _privateTestFunction($value = '')// 私有成員方法【個(gè)人建議】下劃線小寫開(kāi)頭駝峰
 {
   // 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  = '', // 變量命名可小寫開(kāi)頭駝峰或者下劃線命名,個(gè)人那習(xí)慣,據(jù)說(shuō)下劃線可讀性好
  $valueTwo  = '',
  $valueThree = '',
  $valueFour = '',
  $valueFive = '',
  $valueSix  = '')// 參數(shù)過(guò)多換行
 {
  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é)

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

相關(guān)文章

最新評(píng)論

盘锦市| 霍城县| 金山区| 林周县| 沐川县| 蓬溪县| 宁都县| 常山县| 司法| 呼伦贝尔市| 团风县| 齐齐哈尔市| 新昌县| 镇沅| 广东省| 青冈县| 龙州县| 邢台县| 林州市| 历史| 武汉市| 岗巴县| 通河县| 安岳县| 佛学| 达拉特旗| 化隆| 大名县| 安徽省| 云梦县| 泰安市| 奉节县| 琼结县| 甘泉县| 连南| 中阳县| 辽阳市| 饶河县| 方正县| 曲周县| 巴林左旗|