萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> 現在寫 PHP,你應該知道這些了嗎?

現在寫 PHP,你應該知道這些了嗎?

class="area">

首先你應該是在用 PHP 5.3 以上的版本,如果 PHP 版本在這之下,是時候該升級了。我建議如果有條件,最好使用最新的版本。

  你應該看過 PHP The Right Way,這篇文章包含了很多內容,而且還能再擴展開。大部分的名詞和概念你都需要了解。

 1. PSR

The idea behind the group is for project representatives to talk about the commonalities between our projects and find ways we can work together.

  在之前的文章中以及跟同事交流的過程中我多次提到過 PSR(PHP Standard Recommendation)。很多人以為 PSR 只是做一些規范代碼風格等無關痛癢的事情,但其實遠不止此。

  PSR 的一系列標准文檔由 php-fig (PHP Framework Interop Group)起草和投票決議,投票成員中有一些主流框架和擴展的作者,包括 Laravel、Symfony、Yii等等。

  按照其官網的說法,這個組織的目的並不是告訴你你應該怎麼做,只是一些主流的框架之間相互協商和約定。但是我相信這些框架和擴展中總會有你用到的。

  PSR 目前通過的共有 6 份文檔:

  • 0:自動加載(主要是針對 PHP 5.3 以前沒有命名空間的版本)
  • 1:編碼規范
  • 2:編碼風格推薦
  • 3:Log 結果
  • 4:自動加載更細(在出現命名空間後有很大的改變)
  • 7:HTTP 消息接口

  目前在起草(Draft)中的還有 PSR-5(PHPDoc Standard)、PSR-6(Cache)等。5 和 6 沒有出現在以上的列表中,是因為還沒有投票通過。

  我相信隨著標准的不斷更新,你會發現研究這些約定對你也是很有裨益的,雖然未必什麼都要遵守。

Nobody in the group wants to tell you, as a programmer, how to build your application.

 2. Composer

Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.

  composer 和 Pear、Pecl 都不同,它不僅僅是用於安裝擴展,更重要的是定義了一種現代 PHP 框架的實現和擴展管理的方法。類似 node.js 的 npm、Python 的 pip 但又比以上做的更多。

  composer 的核心是實現擴展的標准安裝和類的自動加載。通過 packagist.org 這個平台,無數的擴展組件可以被很方便的引入,目前比較知名的 PHP 擴展都可以通過 composer 安裝了。而調用僅僅只需要加載一個 autoload.php 的文件即可。

  composer 是通過 spl_autoload_register 方法注冊一個自動加載方法實現擴展類和文件的加載的,當然這中間 composer 也做了一個優化。

  我們都知道 PHP 引入文件要通過 include 和 require 實現,這其實寫起來並不好看。 PHP 5.3 提供了命名空間,這本來和文件引入也不相干。但是 composer 實現了 PSR-4(在老版本的 PHP 上是 PSR-0),使用 use 時通過調用 spl_autoload_register 實現的方法在調用時加載所需要的類,在寫法上類似 Python 的 import,即美觀也起到了按需加載、延遲加載的作用。

 3. php-cs-fixer

The PHP Coding Standards Fixer tool fixes most issues in your code when you want to follow the PHP coding standards as defined in the PSR-1 and PSR-2 documents.

copyright © 萬盛學電腦網 all rights reserved