PHP Composer 是什麼技術?
如果你是程式設計師,很可能你會發現技術更新的輪子轉得讓你跟不上,例如使用者認證、資料庫管理、路由等技術。 PHP裡面有很多很成熟的框架來處理這些問題,所以你會認為這些框架使用起來應該很容易,不是嗎?
如果你現在手動的安裝使用Zend, 或Laravel 或Symfony,你會發現並不是一件容易的事情,每種技術都有自己的各種依賴包,於是最終事情搞得的一團糟。
這時候 Composer 的作用就出現了。 Composer 是PHP的一個依賴管理工具。它能管理你的PHP專案所需的所有依賴關係。也就是說,Composer 會將你的PHP專案所需的所有程式碼庫、相依性從網路上全部拉取下來,放在一起進行管理。
這種針對專案的依賴管理方式並不是一種新的概念,事實上,Composer 是受到了 npm 之 Node.js 和 Bundler 之 Ruby 的啟發。
相信你應該對 PEAR 有所了解。 PEAR 是多年前就有的 PHP 函式庫管理工具。然而,很多程式設計師不喜歡使用 PEAR,有很多原因,首先,它過時了,其次,PEAR 要求你安裝整個系統,而不是根據每個項目來安裝。也就是說,如果你有一個專案對一個稍微有點舊的庫有依賴,事情就麻煩了。想了解更多關於PHP套件的管理工具的歷史,可以去閱讀 Packages: The Way Forward for PHP 這篇文章。
如何安裝 Composer
Composer 的安裝十分簡單,幾行指令就能完成。我使用OS X,但對於任何的 *nix 系統而言都是一樣的。
請開啟命令列窗口,執行下面的指令:
$ curl -s https://getcomposer.org/installer | php
#$ sudo mv composer.phar /usr/local/bin/composer
第一行指令是將composer.phar 檔案下載到你的電腦裡。第二行命令是將 composer.phar 檔案移到你的bin目錄裡,這樣你就可以在電腦裡全域存取它。
現在執行下面這個指令:
$ composer
如果你成功了安裝了Composer ,這個指令會回傳給你一個有效的指令參數清單,以及使用描述。
如何在Windows上安裝 Composer
如果你想在Windows系統裡安裝Composer,可以在官方網站上尋找安裝方法,http://getcomposer.org/。
如何使用 Composer?
現在,Composer已經安裝到我們的電腦裡了,我們可以開始用它導入專案中需要的程式碼庫了。 Composer需要一個設定文件,是一個JSON文件,我們把它放到專案的根目錄裡。
例如,如果我們要使用Slim Framework,可以建立下面的composer.json 檔案:
{ "require": { "slim/slim": "2.*" } } 想通过Composer安装 Slim,你只需要简单的使用下面的命令: $ composer install
現在Slim會自動的下載下來,並且安裝到vendor/slim/slim
目錄下。
是不是很簡單!
自動載入
現在,假設你的專案依賴很多不同的程式碼庫,你希望能夠自動的載入這些庫。幸運的是,Composer 裡有一個能夠執行這種任務的文件,它能夠把你的專案所有依賴的函式庫都自動的下載到專案裡。
想要使用Composer 的自動載入器,只需要在相對的index檔案或啟動檔案裡include一行:
require ‘vendor/autoload.php’;
這樣一來,在專案裡新增新的依賴包時就不用擔心了。
例如:
// Autoload require ‘vendor/autoload.php’; // 实例或 Slim 应用 $app = new \Slim\Slim(); // 定义 HTTP GET 路径 $app->get(‘/hello/:name’, function ($name) { echo "Hello, $name"; }); // 运行 Slim 应用 $app->run();
結論
在PHP專案裡使用套件管理工具是正確的方向。像Ruby這樣的程式語言已經向我們展示了在專案裡使用依賴關係管理工具的方便,節省了大量開發者的開發配置時間。
大量的流行框架也開始引用 Composer,有更多的開發者在自己的專案裡使用 Composer。
身為PHP開發者,Composer 會是你的最佳拍檔,隨著使用率的增加,Composer必將成為PHP的基礎函式庫。
隨著像Composer這樣的好工具的增加,PHP也會變得越來越好用。 Composer已經為PHP社群解決了很多大問題,我們沒有理由還拒絕去使用它。
推薦教學:《php影片教學》
###以上是PHP Composer是什麼技術?一起看看的詳細內容。更多資訊請關注PHP中文網其他相關文章!