成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? PHP符合PSR編程規范的實例分享
全站頭部文字 我要出現在這里
PHP符合PSR編程規范的實例分享 716 2024-01-10   

前言

關于開發標準這塊,可以說一直都是風格迥異,各家都有各家的玩法,民間更是個人玩個人的。目前我們國內比較出名的幾個框架(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個大的規范了

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

實例

<?php
namespace Standard; // 頂部命名空間
// 空一行
use TestTestClass;//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...
  }
 }
}

總結

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



主站蜘蛛池模板: 闪婚后傅先生马甲藏不住了免费播放| 热巴电视剧在线观看免费| 内蒙古通辽地图| 刘悦| 《扫描工具》观看免费| 日本电影致命诱惑| 基于plc的毕业设计论文题目| 大小不良| 小矮人的一级毛片| 一级片,| 锤娜丽莎演的电视剧| 03s402| 龙在少林| 金酸梅奖| 《与凤行》演员表| 安全管理论文| 吃大米饭是增肥还是减肥| 妈妈的朋友电影天堂| 玉林电视台| 眼光娘娘治眼病口诀| 色戒2007在线观看| 国生小百合| 武林外传一共多少集| 艳堂| 壁纸超清全屏| 魔1983| 预备党员第二季度思想汇报| 少女频道电影在线观看中文版| 刘浩存《一秒钟》舞蹈| 笼中女电影| 裸体广场舞| xiuren秀人网免费| 喜羊羊电影| 男同志gay免费视频| 小狗克罗历险记| 老阿姨电影电视剧免费| 胖女人做爰全过程免费看视频| 牛奶奶油是什么奶油| 张小玲个人简历| 我的野蛮女老师2| 绿椅子韩剧完整免费观看|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103