日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php和composer关系_使用Composer管理PHP依赖关系

發布時間:2023/12/10 php 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php和composer关系_使用Composer管理PHP依赖关系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

現在軟件規模越來越大,PHP項目的開發模式和許多年前已經有了很大變化。記得初學PHP那會兒,boblog是一個很好的例子,幾乎可以代表PHP項目的開發模式。當時PHP 5.x以上的版本剛開始流行,仍然有大量的生產環境使用PHP4.x。由于歷史遺留的問題,OOP思想在PHP項目中還不是那么廣泛流行。隨著PHP5.3的發布,PHP項目規模的擴大,在其他語言領域大展身手的OOP開發模式也在PHP中嶄露頭角。

大型項目不可能是從頭開始的,使用社區已經提供的資源可以為項目帶來很大的便利。然而各自為政的打包方式、依賴關系的處理,導致了很難將兩個開源項目集成到一起。雖然有pear這種PHP官方支持的包管理工具,但是依然沒有很好的統一的依賴關系管理的辦法。直到Composer的出現。

Composer的依賴關系管理風格,看上去更像Java的Maven。項目編譯和打包、依賴關系的解決都可以很輕松的實現。再也不用費神去尋找或者更新第三方庫,或者將他們集成到一起。這一切全部都可以交給Composer來完成。

例子

首先來看一個類似于Helloworld的例子,讓我們對Composer先有一個感性的認識吧。

如何在一個PHP項目中啟用Composer,很簡單,只需要在項目根目錄中創建一個composer.json文件即可,它包含如下內容:

{

"require": {

"monolog/monolog": "1.2.*"

}

}

這樣我們便添加了對monolog這個庫的引用。沒錯,就是這樣簡單。不過,你還需要使用composer來為你更新依賴包,打開你的Shell,切換到項目目錄下執行:

composer install

這時,Composer便自動從互聯網上更新指定依賴的庫了。你會發現你的項目文件夾里面多了一個vendor文件夾,那就是依賴庫包了。

接下來,你需要在你的系統的公共入口文件中引用自動加載器,以便自動加載類:

require 'vendor/autoload.php';

安裝

上面的例子讓大家對composer的使用有了一個大概的認識。下面將向大家介紹如何在PHP環境中安裝composer。

Unix/Linux/OSX環境

很幸運,利用Unix Like環境安裝composer是一件很簡單的事情。只需要一行命令:

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

此時會為你在當前工作目錄安裝composer.phar文件,使用php composer.phar即可運行。當然,你可能更想讓composer變成像其他一樣的Unix命令,很簡單,只需要再加一步:

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

注意,在權限受限的系統上,你可能需要使用sudo命令來提升至管理員賬號執行。

這時,你就可以像例子里面那樣使用composer了。

Windows環境

Composer官方推薦使用安裝包進行安裝,據說下載Composer-Setup.exe這個即可用向導模式安裝。

自動加載

為了實現PHP類的隨取隨用,類的命名空間定義建議遵從一定的規則。這種規則可以是某一項目組約定的。不過為了使得類庫統一,PHP-FIG項目指定了一種PHP命名空間的規范PSR-0,被一些流行PHP項目采用。Composer支持這種規范的類庫自動裝載器,只需要向composer.json文件中添加autoload節點即可:

{

"autoload": {

"psr-0": {"Acme\\": "src/"}

}

}

關于PSR-0規范,有這么幾點重要的要求:

命名空間規范參考:\\(\)*

每個namespace需要一個頂層空間,即vendor name。用來指定在軟件包級別上區別。

命名空間和PHP文件的路徑是一一對應的,最終命名空間分隔符會被轉為DIRECTORY_SEPARATOR

文件名必須為類名.php

注意,修改了autoload后,要重新使用composer install。

注意:composer默認類庫是使用PSR-0規范自動加載的。所以一般無需額外配置。

查找所需類庫

composer提供了一個類庫的“商店”,在這里,你可以立即找到想要使用的開源類庫包,然后把他們添加到你的項目中即可。傳送門:https://packagist.org/

打包自己的類庫

將自己的類庫貢獻給大家,首先需要為自己的類庫設置打包信息(要首先保證自己的類庫是利用composer管理的)。在composer.json文件中設置:

{

"name": "your-vendor-name/package-name",

"require": {

"php": ">=5.3.0",

"another-vendor/package": "1.*"

}

}

然后就可以前去https://packagist.org/提交你的類庫了。

關于composer的更多信息,可以參考:

總結

以上是生活随笔為你收集整理的php和composer关系_使用Composer管理PHP依赖关系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。