站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        php composer的簡明安裝步驟及使用方法

        本文由composer教程欄目給大家介紹安裝php composer的簡明安裝步驟方法,希望對需要的朋友有所幫助!

        1.簡介

        Composer 是 PHP 的一個依賴管理工具。它允許你申明項(xiàng)目所依賴的代碼庫,它會在你的項(xiàng)目中為你安裝他們。

        2.系統(tǒng)要求

        運(yùn)行 Composer 需要 PHP 5.3.2+ 以上版本。
        Composer 是多平臺的,它可以同時在 Windows 、 Linux 以及 OSX 平臺上運(yùn)行。

        3.安裝(ubuntu)

        curl -sS https://getcomposer.org/installer | php mv composer.phar mv composer.phar /usr/local/bin/composer

        注:如果沒有安裝curl,可以通過以下命令安裝

        apt-get update apt-get install curl

        當(dāng)你的 Composer 安裝完畢之后,你可以實(shí)用下列命令查看是否安裝成功

        composer -v

        注 如果上述方法由于某些原因失敗了,你還可以通過 php 下載安裝器:

        php -r "readfile('https://getcomposer.org/installer');" | php

        這將檢查一些 PHP 的設(shè)置,然后下載 composer.phar 到你的工作目錄中。這是 Composer 的二進(jìn)制文件。這是一個 PHAR 包(PHP 的歸檔),這是 PHP 的歸檔格式可以幫助用戶在命令行中執(zhí)行一些操作。

        你可以通過 --install-dir 選項(xiàng)指定 Composer 的安裝目錄(它可以是一個絕對或相對路徑)

        4.使用

        要開始在你的項(xiàng)目中使用 Composer,你只需要一個 composer.json 文件。該文件包含了項(xiàng)目的依賴和其它的一些元數(shù)據(jù)。

        首先創(chuàng)建一個 composer.json 文件,寫入相應(yīng)的包名和版本號,如

        {         "require": {         "monolog/monolog": "1.13.*"     } }

        這是后就寫入了一個依賴包,之后安裝依賴包。獲取定義的依賴到你的本地項(xiàng)目,之后在你的項(xiàng)目目錄中(即 composer.json 所在目錄)使用 Composer 運(yùn)行 install 命令。

        composer install

        當(dāng)然,如果是在 Windows 系統(tǒng)中,也可以通過調(diào)用 composer.phar 包來進(jìn)行依賴包的安裝。

        php composer.phar install

        執(zhí)行 composer install,就進(jìn)入自動安裝,安裝完成后會生成一個 composer.lock 文件,里面是特定的版本號名,需要這個文件和 composer.json 一起提交到版本管理里去。

        最后,在需要更新依賴包的時候,可以使用以下命令

        composer update

        如果只想更新部分依賴

        composer update monolog/monolog

        5.自動加載

        對于庫的自動加載信息,Composer 生成了一個 vendor/autoload.php 文件。你可以在你項(xiàng)目的入口文件中引入它

        <?php require __DIR__ . '/vendor/autoload.php'; ?>

        這使得你可以很容易的使用第三方代碼。例如:如果你的項(xiàng)目依賴 monolog,你就可以像這樣開始使用這個類庫,并且他們將被自動加載。

        <?php require __DIR__ . '/vendor/autoload.php';  $log = new MonologLogger('name'); $log->pushHandler(new MonologHandlerStreamHandler('app.log', MonologLogger::WARNING));  $log->addWarning('Foo'); ?>

        6.Packagist / Composer 中國全量鏡像

        由于墻的問題,所以會導(dǎo)致 Composer 的國外鏡像經(jīng)常無法正常的 install,所以推薦使用國內(nèi)的鏡像,使用方式如下

        有兩種方式啟用本鏡像服務(wù):

        • 系統(tǒng)全局配置: 即將配置信息添加到 Composer 的全局配置文件 config.json 中。詳見”方法一“
        • 將配置信息添加到某個項(xiàng)目的 composer.json 文件中。詳見”方法二“

        方法一: 修改 composer 的全局配置文件
        打開命令行窗口(windows用戶)或控制臺(Linux、Mac 用戶)并執(zhí)行如下命令:

        composer config -g repo.packagist composer https://packagist.phpcomposer.com

        方法二: 修改當(dāng)前項(xiàng)目的 composer.json 配置文件:

        打開命令行窗口(windows用戶)或控制臺(Linux、Mac 用戶),進(jìn)入你的項(xiàng)目的根目錄(也就是 composer.json 文件所在目錄),執(zhí)行如下命令:

        composer config repo.packagist composer https://packagist.phpcomposer.com

        上述命令將會在當(dāng)前項(xiàng)目中的 composer.json 文件的末尾自動添加鏡像的配置信息(你也可以自己手工添加):

        "repositories": {     "packagist": {         "type": "composer",         "url": "https://packagist.phpcomposer.com"     } }

        7.使用 Composer 中的 autoload 實(shí)現(xiàn)自動加載命名空間

        Composer 除了可以幫你安裝所需要的依賴包以外,還可以實(shí)現(xiàn)自動加載命名空間的功能,當(dāng)我們自己編寫的函數(shù)庫與類庫需要自動加載時,我們就可以通過 composer.json 來實(shí)現(xiàn)。它類似于 php 中的 spl_autoload_register(), 其實(shí)如果你去查看 Composer 中的源代碼,你會看到它的自動加載功能也是用了 spl_autoload_register() 這個函數(shù)。《具體可看此文章詳細(xì)介紹》

        我們在 composer.json 里添加如下代碼:

        {     "autoload": {         "psr-4": {             "Test\": "test/",             "Testtwo\": "testtwo/"         }     } }

        這個配置文件中有一個 autoload 段,其中有個 《PSR-4》,psr-4 是一個基于 psr-4 規(guī)則的類庫自動加載對應(yīng)關(guān)系,只要在其后的對象中,以 ”命名空間“: “路徑” 的方式寫入自己的類庫信息修改完成后,之后,在執(zhí)行下列命令,即可完成自動加載。

        composer dumpautoload

        注: "psr-4": {"Test\": "test/"} 中的 "test/" 路徑為相對于 composer.json 的路徑

        這個時候,你就可以調(diào)用你自己編寫的函數(shù)庫或者類庫了

        <?php require __DIR__ . '/vendor/autoload.php';  $testClass = new TestTestclass(); ?>

        注:本文內(nèi)容參考了《Composer 中文網(wǎng)》,后續(xù)還會更新 Composer 其它的實(shí)用功能

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 四虎精品影库4HUTV四虎| 精品少妇人妻av无码久久| 亚洲av午夜福利精品一区| 麻豆精品成人免费国产片| 亚洲精品二区国产综合野狼| 国产成人毛片亚洲精品| 99精品全国免费观看视频..| 亚洲码国产精品高潮在线| 久久99精品国产麻豆不卡| 四虎成人www国产精品| 国语精品一区二区三区| 亚洲欧洲美洲无码精品VA| 精品无码人妻久久久久久| 97精品伊人久久久大香线蕉| 国产精品福利一区二区| 人人妻人人澡人人爽人人精品电影| 久久国产精品二国产精品| 97精品国产97久久久久久免费| 国产精品久久成人影院| 精品亚洲麻豆1区2区3区| 亚洲国产精品一区二区第一页| 久久99精品久久久久久水蜜桃| 四虎国产精品免费久久久| 99re这里只有精品6 | 青青草国产精品久久| 97久久超碰国产精品旧版 | 呦交小u女国产精品视频| 欧美精品91欧美日韩操| 久久夜色精品国产| 欧美日韩专区麻豆精品在线| 日本精品一区二区三区在线视频一| 精品久久久久久无码国产| 国产系列高清精品第一页| AAA级久久久精品无码区| 国产精品福利片免费看 | 久久久久四虎国产精品| 欧美精品华人在线| 91国内揄拍国内精品情侣对白| 亚洲国产精品久久久久| 国产成人精品一区在线| 黑巨人与欧美精品一区 |