PHP系列 PHP元件詳解

2021-07-27 17:28:54 字數 2959 閱讀 8484

楓爺之前做過幾年的php的研發,大部分都是在開源框架的引導下,編寫**。現在依然,本能的會去讓我使用某個php框架開發php應用,也是因為懶吧,沒有好好的去研究研究除了框架之外的一些東西。

今天和和大家講的,也是後來結識了很多php框架後,發現有很多框架的工具不支援的功能,不得已,自己寫寫或者去外面找找的。為了盡可能少的重複造輪子,楓爺今天給大家帶來乙個比較實用的工具,能夠讓你輕鬆快速的找到想要的功能並且整合在你的php應用中。

它就是元件。

元件是打包的**,用於幫你解決php應用中某個具體的問題。元件中的類、介面和性狀通常放在同乙個命名空間中。

元件元件的作用非常單一,別指望乙個元件能夠給你解決很多問題,元件一定是功能單一的。

元件可能就是乙個php檔案,乙個類,非常的簡單。

使用正確的工具做正確的事情,如果有機會,還是希望能通過一些php元件搭建準確解決問題的小型專案,元件也有助於有助於讓**保持輕量級和靈活性。

我們可以在中查詢php元件。

如果你對php的哪些元件好比較感興趣,不妨去到這個鏈結。

這個鏈結裡面列出了很多優秀的php元件。

如果你想要乙個http請求相關的元件,那在上面的搜尋框中輸入http,回車,你就可以看到乙個和http請求相關的元件列表。

我建議根據口碑去選擇上面的元件,如果覺得太麻煩,就按照star數量吧,還是比較具有參考性的。

使用php元件必須解決兩個問題,依賴管理和自動載入。當然了,我們也有對應的工具去解決它。

composer是安裝php元件的工具,composer也是php元件的依賴管理器,執行在命令列中。

composer的作用很重要,依賴管理和自動載入就會讓你很頭疼,因為psr-4的出現,依賴管理器composer會為專案中所有的php元件自動生成符合psr標準的自動載入器。composer解決了依賴管理和自動載入的難題。

大夥可以根據官方文件進行安裝:

我這邊提供的是mac os和linux下的安裝方式,ssh到遠端機,開始愉快的安裝吧。

$curl -ss installer | php

$mv composer.phar /usr/local/bin/composer

如遇許可權問題,請自行sudo。讓我們在命令列中輸入composer命令,看看效果吧。

#

composer

顯示下面的畫面,表明你已經成功安裝了composer。

如果你的composer年久失修,它會提醒你公升級。直接輸入下面的命令即可完成公升級。

$composer self-update
元件的名稱一般為企業名/包名。比方說我們剛才在packagist中搜尋php返回的列表中,guzzle/http中的guzzle就是企業名,http就是包名。企業名是全域性唯一的,這是全域性識別符號,用於識別名下的包屬於誰。包名用於唯一識別企業名下的某個包。

packagist會列出元件的所有版本(包括正在研發的dev版本),但是,我們沒必要去乙個版本乙個版本的篩選,composer會幫我們做了這事。

#composer require guzzle/http
這個命令會讓composer查詢並安裝指定php元件的最新穩定版。這樣,就可以擁有乙個http請求相關的php元件啦,是不是很簡單。 

對於黃色部分的提示,我們暫且先不管他,這邊只是做個元件的測試,如果大家需要使用全套,建議使用下面的命令。

#composer require guzzle/guzzle
在執行這條命令的時候,會在你專案的頂層目錄裡面建立兩個檔案:composer.json和composer.lock,記住,這兩個檔案都需要被納入版本控制系統。

這個元件最終會被放在你專案頂層目錄的vender/目錄中。

它會告訴你,你的檔案是不是乙個標準的json。

composer會使用這個檔案中的資訊對php元件進行查詢、安裝和自動載入。

composer.json檔案的完整格式參見composer官網:

這個檔案會列出專案使用的所有php元件,以及元件的具體版本號,這其實和檔案鎖啊,程序鎖啊相關的有異曲同工之妙。

為什麼需要將這個檔案納入版本控制系統呢,因為你需要讓你的其他團隊成員知道,專案使用的php元件都是哪些版本的,這樣能避免由於元件版本差異導致的缺陷風險。

require 'vendor/autoload.php';
使用元件裡面的方法與函式,一般使用下面的**:

這樣,大功告成。今天就和大夥說到這裡,至於元件裡面的方法如何去使用,在packagist中都有詳細的解釋噠,大家可以多花點時間,多研究研究元件,會對你有很大幫助的。^_^

PHP系列目錄

php系列的物件是已經熟悉了一門或多門語言的開發人員。如果你是其中乙份子,而且你也打算學習php,相信你根據本系列會很快掌握php的。目錄如下 php 1 在windows上安裝和配置php,apache和my sql php 2 從乙個例項介紹學習方法 php 3 從login介面談php標記 p...

PHP系列目錄

php系列的物件是已經熟悉了一門或多門語言的開發人員。如果你是其中乙份子,而且你也打算學習php,相信你根據本系列會很快掌握php的。目錄如下 php 1 在windows上安裝和配置php,apache和my sql php 2 從乙個例項介紹學習方法 php 3 從login介面談php標記 p...

PHP系列目錄

原文 php系列目錄 php 1 在windows上安裝和配置php,apache和my sql php 2 從乙個例項介紹學習方法 php 3 從login介面談php標記 php 4 從login進一步看到的 php 5 php語法導向 php 6 php 基本資料型別 php 7 php 變數...