composer的使用以及安裝

在composer的概念中呢,我們已經(jīng)了解到composer究竟是干什么的,然后也了解到,有了composer之后,對于我們php程序猿,在做些項目的時候極大的提高我們的開發(fā)效率,那么composer究竟怎么樣去使用呢.

composer是一個php類庫管理工具,一聽工具,那么肯定需要安裝呢,所以下面我們看一下composer如何安裝.

composer的安裝

怎么樣安裝呢?不要著急,安裝composer呢我們需要準備一些東西.
首先,composer的使用有一定的要求.
1,php的環(huán)境變量的配置,需要在cmd命令行中去調用.
2,php的版本要求,需要>=5.5.9,配置好環(huán)境變量,在命令行中運行php -v命令就可以查看
3,需要三個擴展 openssl,mbstring,pdo,怎么去開啟和編譯這三個擴展呢,so easy 打開我們的php目錄,找到php.ini文件,在里面搜索如openssl,正常情況是:


~~~~~~~~~~~
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll
~~~~~~~~~

前面有個分號,把分號去掉即可

好了,準備工作已經(jīng)準備好,下面呢我安裝composer

window下安裝

1,在線安裝,不管我們安裝什么東西,都需要把它的安裝包,給準備好,同樣的composer也是這樣,我們可以直接去百度搜索composer 進入它的官網(wǎng),或者國內的鏡像中,可能是這樣的一個東西:

2.png

直接雙擊它,一路next就ok了;
但是注意,我們這樣安裝可能會失敗,因為在中間回去composer官網(wǎng),去下載兩個文件,composer.bat,composer.phar但這個網(wǎng)站是國外的,可能會訪問失敗,那下載不成怎么辦呢?

2,離線安裝
我們可以去手動的去網(wǎng)上下載好這兩個文件,

  1. 按要求打開PHP的相關擴展:openssl.dll , mbstring.dll ,及PDO
  2. 把php.exe所在目錄的路徑,加入環(huán)境變量,保證隨處可以cmd下調用php命令.
  3. 把這兩個文件給放到 php.exe的同級目錄下就ok了

打開命令行中,運行composer -v即可,出現(xiàn)以下界面說明安裝成功

3.png

但是并沒有完事,因為composer官網(wǎng)是在國外,所以我們下載東西呢,速度會很慢
但是在國內有composer的鏡像,我們需要修改成國內的鏡像,僅僅是提高下載速度,如下:

composer config -g repositories.packagist composer https://packagist.phpcomposer.com
composer的使用 引入類庫

那么我們在之前呢,了解到composer是php類庫管理工具,主要是為項目引入類庫使用,怎么引入呢?
如:我在做一個blog項目,現(xiàn)在需要用一個smarty組件,首先,我們去http:://packagist.org上去搜索smarty的信息,然后我們需要到blog項目根目錄創(chuàng)建一個composer.json的文件,然后把smarty組件的信息,給寫入,注意是json格式,如下:

{
    "require":{
        "smarty/smarty":"3.1.30"
    }
}

json文件寫好之后,我們需要在cmd中來到項目的額根目錄,運行composer install這個命令
會出現(xiàn)以下這種結果

D:\xampp\htdocs\myphp\blog>composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing smarty/smarty (v3.1.30)
Downloading: 100%
Writing lock file
Generating autoload files

完成之后,那么來到項目的文件夾下,多出一個vendor的目錄,并且vendor目錄下也有一個smarty的文件夾.
在這里可能會有疑問,在json文件中的寫個格式是什么意思,以smarty為例,smarty/smarty前面的代表一個公司,后者是代表這個公司開發(fā)的這個類庫

{
    "require":{
        "廠商/類庫名字":"版本號"
    }
}
添加類庫

一個項目不可能就需要一個類庫,所以如何去添加類庫,比如需要一個phpmailer的類庫,同樣的我們還是需要到http://packagist.org這個網(wǎng)站上,找到phpmailer這個類庫的信息和版本
接下來到composer.json文件中去添加信息,如下:

{
    "require":{
        "smarty/smarty":"3.1.30",
        "phpmailer/phpmailer":"5.2.16"
    }
}

然后同樣的需要到項目根目錄下,執(zhí)行composer install可能會有以下錯誤

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Warning: The lock file is not up to date with the latest changes in composer.json

但是不要著急,我們去讀,它的意思呢是json文件中的文件版本較新,而lock文件中的這個類庫版本較舊,你可以去執(zhí)行以下update
我們在次去執(zhí)行 composer update我們發(fā)現(xiàn)回到正常的下載頁面,然后在去項目文件加下的vendor目錄,發(fā)現(xiàn)也多出一個phpmailer的文件夾,說明我們添加類庫成功,那么既然有添加類庫就有卸載

卸載類庫

比如我們需要把沒有用到的類庫去卸載掉,怎么弄呢,如卸載phpmailer的類庫

只需要執(zhí)行一條命令即可 composer remove phpmailer/phpmailer
成功后,查看你的json文件中的phpmailer的信息沒有了,同樣的vendor目錄下也沒有了phpmailer的文件夾,說明已經(jīng)卸載成功

不配置json文件添加類庫

如果我們需要的類庫比較多,那么一個一個去composer.json文件中去添加么,不用的
可以執(zhí)行命令composer require 廠商/類庫=版本號

如,引入phpmailer composer require phpmailer/phpmailer="5.2.16"
在去看我們的json文件,多出一條phpmailer的信息,并且vendor目錄下,也多出一個phpmailer的文件夾

如何加載引入類庫

我們用composer把類庫給引入,但是們怎么去調用呢,難道一個個去手動引入么,是不用的,我們注意觀察vendor目錄下有一個autoload.php這樣的一個自動加載文件
我只需要引入這個自動加載的文件,我就可以調用任意你引入的類庫,如smarty這個類庫

require(__DIR__.'/vendor/autoload.php');

print_r(new Smarty());

創(chuàng)建項目

我們composer是引入類庫使用,那么類庫供項目使用,能否用composer創(chuàng)建項目呢?

我們知道的有的框架和composer使用,我們用composer創(chuàng)建項目,會直接把框架依賴的類庫全部下載下來,省時間,怎么創(chuàng)建呢?以laravel為例
執(zhí)行命令
composer create-project laravel/laravel=5.1.33
如:

4.png

下載下來之后,到你的項目根目錄會發(fā)現(xiàn)一個完整的框架,直接可以調用,這就是composer的如何去使用,謝謝大家!!!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末销斟,一起剝皮案震驚了整個濱河市妨猩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機醒串,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鄙皇,“玉大人芜赌,你說我怎么就攤上這事“橐荩” “怎么了较鼓?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我博烂,道長香椎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任禽篱,我火速辦了婚禮畜伐,結果婚禮上,老公的妹妹穿的比我還像新娘躺率。我一直安慰自己玛界,他們只是感情好,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布悼吱。 她就那樣靜靜地躺著慎框,像睡著了一般。 火紅的嫁衣襯著肌膚如雪后添。 梳的紋絲不亂的頭發(fā)上笨枯,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機與錄音遇西,去河邊找鬼馅精。 笑死,一個胖子當著我的面吹牛粱檀,可吹牛的內容都是我干的洲敢。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼茄蚯,長吁一口氣:“原來是場噩夢啊……” “哼压彭!你這毒婦竟也來了?” 一聲冷哼從身側響起渗常,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤壮不,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后凳谦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡衡未,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年尸执,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缓醋。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡如失,死狀恐怖,靈堂內的尸體忽然破棺而出送粱,到底是詐尸還是另有隱情褪贵,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站脆丁,受9級特大地震影響世舰,放射性物質發(fā)生泄漏。R本人自食惡果不足惜槽卫,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一跟压、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧歼培,春花似錦震蒋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至噪窘,卻和暖如春笋庄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背效览。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工无切, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人丐枉。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓哆键,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瘦锹。 傳聞我的和親對象是個殘疾皇子籍嘹,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內容

  • 是什么 如果你知道yum、apt-get弯院、npm辱士、bower等命令中的一種或者多種,那么听绳,你也能很快知道compo...
    旱魃一樣閱讀 3,129評論 0 9
  • 安裝類庫之前一定要先切換成中國鏡像颂碘,否則會超級久,或是沒反應椅挣! composer解析: composer.json...
    山有木兮_卿有意閱讀 1,225評論 0 2
  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫头岔、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,094評論 4 62
  • 緣起 Composer 是 PHP 的一個包管理和包依賴管理的工具 ( 官方的定義是 "Dependency Ma...
    patiencing閱讀 6,480評論 2 3
  • 跑完操玩了一會sc2鼠证,補覺到1點峡竣,去買了點吃的回來寫論文,緒論憋的十分痛苦量九,下午最后又睡了半小時适掰。晚上回來繼續(xù)sc...
    AJI米閱讀 167評論 0 0