composer的使用以及安裝

composer是一個php類庫管理工具,一聽工具,那麼確定須要安裝呢,因此下面咱們看一下composer如何安裝.php

composer的安裝

怎麼樣安裝呢?不要着急,安裝composer呢咱們須要準備一些東西. 
首先,composer的使用有必定的要求. 
1,php的環境變量的配置,須要在cmd命令行中去調用. 
2,php的版本要求,須要>=5.5.9,配置好環境變量,在命令行中運行php -v命令就能夠查看 
3,須要三個擴展 openssl,mbstring,pdo,怎麼去開啓和編譯這三個擴展呢,so easy 打開咱們的php目錄,找到php.ini文件,在裏面搜索如openssl,正常狀況是:mysql

~~~~~~~~~~~
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 ~~~~~~~~~

 

前面有個分號,把分號去掉便可laravel

好了,準備工做已經準備好,下面呢我安裝composersql

window下安裝

1,在線安裝,無論咱們安裝什麼東西,都須要把它的安裝包,給準備好,一樣的composer也是這樣,咱們能夠直接去百度搜索composer 進入它的官網,或者國內的鏡像中,多是這樣的一個東西: 
這裏寫圖片描述 
直接雙擊它,一路next就ok了; 
可是注意,咱們這樣安裝可能會失敗,由於在中間回去composer官網,去下載兩個文件,composer.bat,composer.phar但這個網站是國外的,可能會訪問失敗,那下載不成怎麼辦呢?json

2,離線安裝 
咱們能夠去手動的去網上下載好這兩個文件, 
1. 按要求打開PHP的相關擴展:openssl.dll , mbstring.dll ,及PDO 
2. 把php.exe所在目錄的路徑,加入環境變量,保證隨處能夠cmd下調用php命令. 
3. 把這兩個文件給放到 php.exe的同級目錄下就ok了composer

打開命令行中,運行composer -v便可,出現如下界面說明安裝成功框架

這裏寫圖片描述

可是並無完事,由於composer官網是在國外,因此咱們下載東西呢,速度會很慢 
可是在國內有composer的鏡像,咱們須要修改爲國內的鏡像,僅僅是提升下載速度,以下:工具

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

 

composer的使用 引入類庫

那麼咱們在以前呢,瞭解到composer是php類庫管理工具,主要是爲項目引入類庫使用,怎麼引入呢? 
如:我在作一個blog項目,如今須要用一個smarty組件,首先,咱們去http:://packagist.org上去搜索smarty的信息,而後咱們須要到blog項目根目錄建立一個composer.json的文件,而後把smarty組件的信息,給寫入,注意是json格式,以下:post

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

 

json文件寫好以後,咱們須要在cmd中來到項目的額根目錄,運行composer install這個命令 
會出現如下這種結果網站

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前面的表明一個公司,後者是表明這個公司開發的這個類庫

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

 

添加類庫

一個項目不可能就須要一個類庫,因此如何去添加類庫,好比須要一個phpmailer的類庫,一樣的咱們仍是須要到http://packagist.org這個網站上,找到phpmailer這個類庫的信息和版本 
接下來到composer.json文件中去添加信息,以下:

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

 

而後一樣的須要到項目根目錄下,執行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文件中的這個類庫版本較舊,你能夠去執行如下update 
咱們在次去執行 composer update咱們發現回到正常的下載頁面,而後在去項目文件加下的vendor目錄,發現也多出一個phpmailer的文件夾,說明咱們添加類庫成功,那麼既然有添加類庫就有卸載

卸載類庫

好比咱們須要把沒有用到的類庫去卸載掉,怎麼弄呢,如卸載phpmailer的類庫

只須要執行一條命令便可 composer remove phpmailer/phpmailer 
成功後,查看你的json文件中的phpmailer的信息沒有了,一樣的vendor目錄下也沒有了phpmailer的文件夾,說明已經卸載成功

不配置json文件添加類庫

若是咱們須要的類庫比較多,那麼一個一個去composer.json文件中去添加麼,不用的 
能夠執行命令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()); 

 

建立項目

咱們composer是引入類庫使用,那麼類庫供項目使用,可否用composer建立項目呢?

咱們知道的有的框架和composer使用,咱們用composer建立項目,會直接把框架依賴的類庫所有下載下來,省時間,怎麼建立呢?以laravel爲例 
執行命令 
composer create-project laravel/laravel=5.1.33 
如: 
這裏寫圖片描述

下載下來以後,到你的項目根目錄會發現一個完整的框架,直接能夠調用,這就是composer的如何去使用,謝謝你們!!!

相關文章
相關標籤/搜索