實用PHP依賴管理工具Composer入門教程,composer入門教程

來源:互聯網
上載者:User

實用PHP依賴管理工具Composer入門教程,composer入門教程

PHP依賴管理工具Composer入門教程

Composer 是 PHP 的一個依賴管理工具。它允許你申明項目所依賴的程式碼程式庫,它會在你的項目中為你安裝他們。

依賴管理

Composer 不是一個包管理器。是的,它涉及 "packages" 和 "libraries",但它在每個項目的基礎上進行管理,在你項目的某個目錄中(例如 vendor)進行安裝。預設情況下它不會在全域安裝任何東西。因此,這僅僅是一個依賴管理。

這種想法並不新鮮,Composer 受到了 node's npm 和 ruby's bundler 的強烈啟發。而當時 PHP 下並沒有類似的工具。

Composer 將這樣為你解決問題:
你有一個項目依賴於若干個庫。
其中一些庫依賴於其他庫。
你聲明你所依賴的東西。
Composer 會找出哪個版本的包需要安裝,並安裝它們(將它們下載到你的項目中)。

參考:http://www.lai18.com/content/319715.html
http://docs.phpcomposer.com/00-intro.md 
聲明依賴關係

比方說,你正在建立一個項目,你需要一個庫來做日誌記錄。你決定使用 monolog。為了將它添加到你的項目中,你所需要做的就是建立一個 composer.json 檔案,其中描述了項目的依賴關係。

{    "require": {        "monolog/monolog": "1.2.*"    }}

我們只要指出我們的項目需要一些 monolog/monolog 的包,從 1.2 開始的任何版本。

系統要求

運行 Composer 需要 PHP 5.3.2+ 以上版本。一些敏感的 PHP 設定和編譯標誌也是必須的,但對於任何不相容項安裝程式都會拋出警告。

我們將從包的來源直接安裝,而不是簡單的下載 zip 檔案,你需要 git 、 svn 或者 hg ,這取決於你載入的包所使用的版本管理系統。

Composer 是多平台的,我們努力使它在 Windows 、 Linux 以及 OSX 平台上啟動並執行同樣出色。

Linux/Unix下安裝

局部安裝


要真正擷取 Composer,我們需要做兩件事。首先安裝 Composer (同樣的,這意味著它將下載到你的項目中):

curl -sS https://getcomposer.org/installer | php

注意: 如果上述方法由於某些原因失敗了,你還可以通過 php >下載安裝器:

php -r "readfile('https://getcomposer.org/installer');" | php

這將檢查一些 PHP 的設定,然後下載 composer.phar 到你的工作目錄中。這是 Composer 的二進位檔案。這是一個 PHAR 包(PHP 的歸檔),這是 PHP 的歸檔格式可以協助使用者在命令列中執行一些操作。

你可以通過 --install-dir 選項指定 Composer 的安裝目錄(它可以是一個絕對或相對路徑):

curl -sS https://getcomposer.org/installer | php -- --install-dir=bin

全域安裝

你可以將此檔案放在任何地方。如果你把它放在系統的 PATH 目錄中,你就能在全域訪問它。 在類Unix系統中,你甚至可以在使用時不加 php 首碼。

你可以執行這些命令讓 composer 在你的系統中進行全域調用:

curl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer

注意: 如果上訴命令因為許可權執行失敗, 請使用 sudo 再次嘗試運行 mv 那行命令。 現在只需要運行 composer 命令就可以使用 Composer 而不需要輸入 php composer.phar。

全域安裝 (on OSX via homebrew)

Composer 是 homebrew-php 項目的一部分。

brew updatebrew tap josegonzalez/homebrew-phpbrew tap homebrew/versionsbrew install php55-intlbrew install josegonzalez/php/composer

Windows下安裝

使用安裝程式


這是將 Composer 安裝在你機器上的最簡單的方法。

下載並且運行 Composer-Setup.exe,它將安裝最新版本的 Composer ,並設定好系統的環境變數,因此你可以在任何目錄下直接使用 composer 命令。

手動安裝

設定系統的環境變數 PATH 並運行安裝命令下載 composer.phar 檔案:

C:\Users\username>cd C:\binC:\bin>php -r "readfile('https://getcomposer.org/installer');" | php

注意: 如果收到 readfile 錯誤提示,請使用 http 連結或者在 php.ini 中開啟 php_openssl.dll 。 在 composer.phar 同級目錄下建立檔案 composer.bat :

C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat

關閉當前的命令列視窗,開啟新的命令列視窗進行測試:

C:\Users\username>composer -VComposer version 27d8904

使用 Composer

現在我們將使用 Composer 來安裝項目的依賴。

要解決和下載依賴,請執行 install 命令:

php composer.phar install

如果你進行了全域安裝,並且沒有 phar 檔案在目前的目錄,請使用下面的命令代替:

composer install

繼續 上面的例子,這裡將下載 monolog 到 vendor/monolog/monolog 目錄。

自動載入

除了庫的下載,Composer 還準備了一個自動負載檔案,它可以載入 Composer 下載的庫中所有的類檔案。使用它,你只需要將下面這行代碼添加到你項目的引導檔案中:

require 'vendor/autoload.php';

現在我們就可以使用 monolog 了!



延伸閱讀

《PHP進階知識進階》系列技術文章整理收藏 

1session機制詳解以及session的相關應用

2php採集自中央氣象台範圍覆蓋全國的天氣預報代碼執行個體

3smarty自訂函數htmlcheckboxes用法執行個體

4PHP Session可能會引起並發問題

5PHP callback函數使用方法和注意事項

6朋友網關於QQ相關的PHP代碼(研究QQ的絕佳資料)

7PHP中使用imagick產生PSD檔案縮圖教程

8PHP實現將瀏覽曆史頁面網址儲存到cookie的方法

9php中使用session防止使用者非法登入背景方法

10利用XDebug分析PHP程式,找出效能瓶頸

11PHP依賴管理工具Composer入門教程

12PHP 開發人員該知道的5個 Composer 小技巧

13PHP實現的帶逾時功能get_headers函數

14PHP中實現擷取IP和地理位置類分享

15php使用iconv中文截斷問題的解決方案

16nginx下支援PATH_INFO詳解

17PHP開發人員應瞭解的24個超酷的PHP庫(微架構)

18HHVM 是如何提升 PHP 效能的?

19php開啟多進程的方法

20PHP異常處理

21PHP守護進程執行個體

22PHP多線程編程之管道通訊執行個體分析

23PHP多進程處理平行處理任務執行個體

24PHP使用QPM實現多進程並行任務處理常式

25PHP多線程之內部多線程執行個體分析

26xhprof安裝&&使用

27推薦給開發人員的11個PHP架構

28Cookie與Session的區別-總結很好的文章

29PHP內建Session隱患(session檔案獨佔鎖引起阻塞)

30php壓縮和解壓縮字串的方法

31php利用反射實現外掛程式機制的方法

32PHP SPL標準庫之資料結構雙鏈表(SplDoublyLinkedList)

33PHP SPL標準庫之資料結構固定長度數組(SplFixedArray)

34xss攻擊知識入門整理

35PHP SPL標準庫之資料結構隊列(SplQueue)和優先隊列(SplPriorityQueue)

36PHP中的Streams詳細介紹

37php以fastCGI的方式運行時檔案系統許可權問題及解決方案

38PHP效能分析工具XHProf安裝使用教程

39百度工程師講PHP函數的實現原理及效能分析(二)

40百度工程師講PHP函數的實現原理及效能分析(三)

41百度工程師講PHP函數的實現原理及效能分析(一)

42正確的PHP匹配UTF-8中文的Regex

43php中關於socket的系列函數總結

44PHP SOCKET編程詳解

45在Linux系統的伺服器上隱藏PHP版本號碼的方法

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.