您好,登錄后才能下訂單哦!
Composer 是什么
Composer 是 PHP5.3以上 的一個(gè)依賴管理工具。它允許你聲明項(xiàng)目所依賴的代碼庫(kù),它會(huì)在你的項(xiàng)目中為你安裝他們。Composer 不是一個(gè)包管理器。是的,它涉及 "packages" 和 "libraries",但它在每個(gè)項(xiàng)目的基礎(chǔ)上進(jìn)行管理,在你項(xiàng)目的某個(gè)目錄中(例如 vendor)進(jìn)行安裝。默認(rèn)情況下它不會(huì)在全局安裝任何東西。因此,這僅僅是一個(gè)依賴管理。
這種針對(duì)項(xiàng)目的依賴管理方式并不是一種新的概念,事實(shí)上,Composer 是受到了 npm 之 Node.js 和 Bundler 之 Ruby 的啟發(fā)。
相信你應(yīng)該對(duì) PEAR 有所了解。PEAR 是一種很多年前就有的 PHP 庫(kù)管理工具。然而,很多程序員并不喜歡使用 PEAR,有很多原因,首先,它過(guò)時(shí)了,其次,PEAR 要求你安裝整個(gè)系統(tǒng),而不是根據(jù)每個(gè)項(xiàng)目來(lái)安裝。也就是說(shuō),如果你有一個(gè)項(xiàng)目對(duì)一個(gè)稍微有點(diǎn)舊的庫(kù)有依賴,事情就麻煩了。要想了解更多的關(guān)于PHP包管理工具的歷史,可以去閱讀 Packages: The Way Forward for PHP 這篇文章。
如何安裝 Composer
Composer 的安裝十分簡(jiǎn)單,幾行命令就能完成。我使用OS X,但對(duì)于任何的 *nix 系統(tǒng)而言都是一樣的。
請(qǐng)打開(kāi)命令行窗口,運(yùn)行下面的命令:
$ curl -s https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer
第一行命令是將 composer.phar 文件下載到你的電腦里。第二行命令是將 composer.phar 文件移動(dòng)到你的bin目錄里,這樣你就可以在計(jì)算機(jī)里全局訪問(wèn)它。
現(xiàn)在運(yùn)行下面這個(gè)命令:
$ composer
如果你成功了安裝了 Composer ,這個(gè)命令會(huì)返回給你一個(gè)有效的命令參數(shù)清單,以及使用描述。
如何在Windows上安裝 Composer
如果你想在Windows系統(tǒng)里安裝Composer,可以在官方網(wǎng)站上尋找安裝方法,http://getcomposer.org/。
如何使用 Composer?
現(xiàn)在,Composer已經(jīng)安裝到我們的電腦里了,我們可以開(kāi)始用它導(dǎo)入項(xiàng)目中需要的代碼庫(kù)了。Composer需要一個(gè)配置文件,是一個(gè)JSON文件,我們把它放到項(xiàng)目的根目錄里。
比如,如果我們要使用Slim Framework,可以創(chuàng)建下面的 composer.json 文件:
{ "require": { "slim/slim": "2.*" } } 想通過(guò)Composer安裝 Slim,你只需要簡(jiǎn)單的使用下面的命令: $ composer install
現(xiàn)在Slim會(huì)自動(dòng)的下載下來(lái),并且安裝到 vendor/slim/slim
目錄下。
是不是很簡(jiǎn)單!
自動(dòng)加載
現(xiàn)在,假設(shè)你的項(xiàng)目依賴很多不同的代碼庫(kù),你希望能夠自動(dòng)的加載這些庫(kù)。幸運(yùn)的是,Composer 里有一個(gè)能夠執(zhí)行這種任務(wù)的文件,它能夠把你的項(xiàng)目所有依賴的庫(kù)都自動(dòng)的下載到項(xiàng)目里。
想要使用 Composer 的自動(dòng)加載器,只需要在相對(duì)的index文件或啟動(dòng)文件里include一行:
require ‘vendor/autoload.php’;
這樣一來(lái),在項(xiàng)目里添加新的依賴包時(shí)就不用擔(dān)心了。
例如:
// Autoload require ‘vendor/autoload.php’; // 實(shí)例或 Slim 應(yīng)用 $app = new \Slim\Slim(); // 定義 HTTP GET 路徑 $app->get(‘/hello/:name’, function ($name) { echo "Hello, $name"; }); // 運(yùn)行 Slim 應(yīng)用 $app->run();
結(jié)論
在PHP項(xiàng)目里使用包管理工具是正確的方向。像Ruby這樣的編程語(yǔ)言已經(jīng)向我們展示了在項(xiàng)目里使用依賴關(guān)系管理工具的方便,節(jié)省了大量開(kāi)發(fā)者的開(kāi)發(fā)配置時(shí)間。
大量的流行框架也開(kāi)始引用 Composer,有更多的開(kāi)發(fā)者在自己的項(xiàng)目里使用 Composer。
作為一個(gè)PHP開(kāi)發(fā)者,Composer 會(huì)是你的最佳拍檔,隨著使用率的增加,Composer必將成為PHP的基礎(chǔ)庫(kù)。
隨著像Composer這樣的好工具的增加,PHP也會(huì)變得越來(lái)越好用。Composer已經(jīng)為PHP社區(qū)解決了很多大問(wèn)題,我們沒(méi)有理由還拒絕去使用它。
以上就是PHP Composer是什么技術(shù)?一起看看的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注億速云其它相關(guān)文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。