首頁  >  文章  >  後端開發  >  PHP符合PSR程式設計規範的實例

PHP符合PSR程式設計規範的實例

墨辰丷
墨辰丷原創
2018-05-29 11:16:441357瀏覽

好的程式碼書寫習慣可以讓人賞心悅目,下面這篇文章就給大家分享了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訊息介面

實例

##

<?php
namespace Standard; // 顶部命名空间
// 空一行
use Test\TestClass;//use引入类

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

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

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

 /**
  * 构造函数.
  *
  * 构造函数描述
  *
  * @param string $value 形参名称/描述
  */
 public function __construct($value = &#39;&#39;)// 成员方法必须添加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 = &#39;&#39;)// 成员方法必须小写开头驼峰
 {
   // code...
 }

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

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

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

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

  switch ($valueThree) {
   case &#39;value&#39;:
    // code...
    break;

   default:
    // code...
    break;
  }

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

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助。


相關推薦:

php設計模式命名空間、自動載入類別、PSR-0編碼規格 

PHP規範之PSR規範

#PHP物件導向PSR-0規格詳解

#PHP物件導向PSR-0規格詳解

############

以上是PHP符合PSR程式設計規範的實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn