Composer PHP 依賴管理工具

WBOY
發布: 2016-08-08 09:25:28
原創
1186 人瀏覽過

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 日誌記錄元件寫個測試案例 ---

E:composer>composer require "monolog/monolog:1.2.*"

./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

to a GrayLog2 server)

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 是用指令產生的,其實也可以手動建立:

這裡手動建立一個 composer.json 在裡面輸入如下:

{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}
登入後複製

  其它這是一個 monolog 的一個配置項, 最後我們在 E:composer> 執行:

      composer install 則也可以安裝 monolog 

至此關於 composer 的安裝與 monolog 日誌記錄工具的案例測試到這裡就結束了。文中如有錯誤地方,望能指出,熱愛分享,熱愛生活!

以上概念文字來源於 composer 中文網,案例來自個人。

以上就介紹了Composer PHP 依賴管理工具,包含了面向的內容,希望對PHP教學有興趣的朋友有幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板