composer 是 PHP 用來管理依賴(dependency)關係的工具。你可以在自己的專案中聲明所依賴的外部工具庫(libraries),Composer 會幫你安裝這些依賴的程式庫檔案。
依賴管理:
Composer 不是套件管理器。是的,它涉及 "packages" 和 "libraries",但它在每個專案的基礎上進行管理,在你專案的某個目錄中(例如 vendor)進行安裝。預設情況下它不會在全域安裝任何東西。因此,這只是一個依賴管理。
這種想法並不新鮮,Composer 受到了 node's npm 和 ruby's bundler 的強烈啟發。而當時 PHP 下並沒有類似的工具。
Composer 將這樣為你解決問題:
a) 你有一個專案依賴若干個函式庫。
b) 其中一些函式庫依賴其他函式庫。
c) 你聲明你所依賴的東西。
d) Composer 會找出哪個版本的套件需要安裝,並安裝它們(將它們下載到你的專案中)。
系統需求
運行 Composer 需要 PHP 5.3.2+ 以上版本。一些敏感的 PHP 設定和編譯標誌也是必須的,但對於任何不相容項安裝程式都會拋出警告。
我們將從套件的來源直接安裝,而不是簡單的下載 zip 文件,你需要 git 、 svn 或 hg ,這取決於你載入的套件所使用的版本管理系統。
Composer 是多平台的,我們努力使它在 Windows 、 Linux 以及 OSX 平台上運行的同樣出色。
安裝 - Windows
使用安裝程序
這是將 Composer 安裝在你機器上的最簡單的方法。
下載並且執行Composer-Setup.exe (https://getcomposer.org/Composer-Setup.exe),它將安裝最新版本的Composer ,並設定好系統的環境變量,因此你可以在任何目錄下直接使用composer 指令。
手動安裝
這使 composer.phar 安裝在 E:/composer 目錄下:
cmd
Microsoft Windows [版本 6.1.7601]
版權所有 (c) 2009 Microsoft Corporation。保留所有權利。
C:Userswangyulu>E:
E:>cd composer
E:composer>php -r "readfile('https://getcomposer.org/installer');" | php
#!/usr/bin/env php
All settings correct for using Composer
Downloading...
Composer successfully installed to: E:composercomposer.phar
Use it: php composer.phar
--- 這裡執行完畢後,會建立 composer.phar 檔案 ---
E:composer>composer -V
'composer' 不是內部或外部命令,也不是可運行的程式
或批次檔。
--- 這時執行composer -V 查看是否安裝成功,則會報以上錯誤,這時我們只需要在系統環境變數中加入composer.phar 所在的檔案目錄即可---
--- E: composer 加入系統環境變數裡---
E:composer>composer -V
Could not open input file: E:composercomposer.phar-V
--- 這時執行查看指令則又會報以上錯誤,這時只需要再建立一個 composer.bat 檔案就可以了 ---
E:composer>echo @php "%~dp0composer.phar" %*>composer.bat
--- 這時會我們會發現在E:composer目錄中會建立一個 composer.bat 批次檔 ---
E:composer>composer -V
Composer version 1.0-dev (ea037305499d300f3a534b36a62abcdd1ba3479d) 2015-04-24 1
10:08:08:08:08
--- 這時我們用 monolog 日誌記錄元件寫個測試案例 ---
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including relog; 1)
Downloading: 100%
monolog/monolog suggests installing mlehner/gelf-php (Allow sending log messages
monolog/monolog suggests installing ext-amqp (Allow an log mido tos表 3535030005757575757575757 月)。 /monolog suggests installing ext-mongo (Allow sending log messages to a M
ongoDB server)
Writing lock file
Generating autoload files
--- 執行以上程式碼我們會發現,E:composer 目錄裡又多一些檔案如下: ---
require 'vendor/autoload.php'; use Monolog\Logger; use Monolog\Handler\StreamHandler; // create a log channel $log = new Logger('个人中心模块'); $log->pushHandler(new StreamHandler('your.log', Logger::WARNING)); // add records to the log $log->addWarning('获取信息失败'); $log->addError('参数错误'); $log = new Logger('登录注册模块'); $log->pushHandler(new StreamHandler('your.txt', Logger::WARNING)); $log->addWarning('登录失败'); $log->addError('获取信息失败');
程式碼運行結果如下:
這裡手動建立一個 composer.json 在裡面輸入如下:
{ "require": { "monolog/monolog": "1.0.*" } }
其它這是一個 monolog 的一個配置項, 最後我們在 E:composer> 執行:
composer install 則也可以安裝 monolog
至此關於 composer 的安裝與 monolog 日誌記錄工具的案例測試到這裡就結束了。文中如有錯誤地方,望能指出,熱愛分享,熱愛生活!
以上概念文字來源於 composer 中文網,案例來自個人。
以上就介紹了Composer PHP 依賴管理工具,包含了面向的內容,希望對PHP教學有興趣的朋友有幫助。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP在現代化進程中仍然重要,因為它支持大量網站和應用,並通過框架適應開發需求。 1.PHP7提升了性能並引入了新功能。 2.現代框架如Laravel、Symfony和CodeIgniter簡化開發,提高代碼質量。 3.性能優化和最佳實踐進一步提升應用效率。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP中使用clone關鍵字創建對象副本,並通過\_\_clone魔法方法定制克隆行為。 1.使用clone關鍵字進行淺拷貝,克隆對象的屬性但不克隆對象屬性內的對象。 2.通過\_\_clone方法可以深拷貝嵌套對象,避免淺拷貝問題。 3.注意避免克隆中的循環引用和性能問題,優化克隆操作以提高效率。

PHP適用於Web開發和內容管理系統,Python適合數據科學、機器學習和自動化腳本。 1.PHP在構建快速、可擴展的網站和應用程序方面表現出色,常用於WordPress等CMS。 2.Python在數據科學和機器學習領域表現卓越,擁有豐富的庫如NumPy和TensorFlow。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6
視覺化網頁開發工具

WebStorm Mac版
好用的JavaScript開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

記事本++7.3.1
好用且免費的程式碼編輯器