溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP中的Composer是什么

發(fā)布時(shí)間:2020-06-15 22:19:15 來(lái)源:億速云 閱讀:226 作者:元一 欄目:編程語(yǔ)言

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)文章!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI