composer
是一個php類庫管理工具,一聽工具,那麼確定須要安裝呢,因此下面咱們看一下composer如何安裝.php
怎麼樣安裝呢?不要着急,安裝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
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是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的文件夾,說明已經卸載成功
若是咱們須要的類庫比較多,那麼一個一個去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的如何去使用,謝謝你們!!!