composer的安裝和使用

1.composer是什麼?

Composer 不是一個包管理器。是的,它涉及 "packages" 和 "libraries",但它在每一個項目的基礎上進行管理,在你項目的某個目錄中(例如 vendor)進行安裝。默認狀況下它不會在全局安裝任何東西。所以,這僅僅是一個依賴管理。是PHP依賴管理工具。
php最低版本5.3.2,開啓了openssl擴展。php

2.下載安裝composer

1.linux下安裝composerhtml

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
或者將其下載到本地。linux

2.windows下安裝composerlaravel

下載而且運行 [Composer-Setup.exe][1],它將安裝最新版本的 Composer ,並設置好系統的環境變量,所以你能夠在任何目錄下直接使用 composer 命令。redis

3.composer的簡單使用

1.修改composer地址到中國鏡像json

//修改當前的項目
composer config repo.packagist composer https://packagist.phpcomposer.com
//或者直接修改composer.json文件
"repositories": {
  "packagist": {
     "type": "composer",
     "url":     "https://packagist.phpcomposer.com"
   }
}windows

2.composer.json文件的編寫緩存

{
    "name": "laravel/laravel",  //項目名稱
    "description": "The Laravel Framework.",  //項目描述
    "keywords": ["framework", "laravel"],  //關鍵字
    "license": "MIT",  //許可證
    "version": "1.0.0",  //版本
    "type": "library",  //安裝類型
    "homepage": "http://******"   //項目主頁
    "authors": [    //做者相關信息
        {
            "name": "***",
            "email": "644****24@qq.com"
        }
    ],
    /*
    *   依賴管理
    *   這表示任何從 1.0 開始的開發分支,它將會匹配 1.0.0、1.0.2 或者 1.0.20
    *   ~1.2 至關於 >=1.2,<2.0,而 ~1.2.3 至關於 >=1.2.3,<1.3
    *   找到的都是最新的版本
    */
    "require": {
        "monolog/monolog": "1.0.*",
        "phpoffice/phpexcel": "dev-master",
        "smarty/smarty": "~3.1",
        "colinmollenhour/credis": "1.8.*",
        "elasticsearch/elasticsearch": "5.3.*"
    }
    /*
    *   composer自動加載方式
    *   1.PSR-4   標準規範,php-fig
    *   2.Class-map  掃描指定的文件或者目錄 
    */
    "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "core\\": "core/",
            "apps\\": "apps/"
        },
        "files": [
            "common/define.php", "common/function.php"
        ],
    },
    /*
    *   腳本
    *   只有在根包的 composer.json 中定義的腳本纔會被執行
    */
    "scripts": {
        //在 create-project 命令期間,根包安裝完成後觸發。
        "post-root-package-install": [
            
        ],
        //在 create-project 命令執行後觸發。
        "post-create-project-cmd": [
            
        ],
        //在 install 命令執行後觸發。
        "post-install-cmd": [
            
        ],
        //在 update 命令執行前
        "pre-update-cmd": [ 
           
        ],
        //在 update 命令執行後
        "post-update-cmd": [
            "rm -rf /home/dev/runtime/blog" //刪除博客的緩存信息
        ]
    },
}

點擊此處查看更多composer.json信息app

4.composer 相關命令

composer list  列出全部可用的命令
composer init   初始化composer.json文件(就不勞咱們本身費力建立啦),會要求輸入一些信息來描述咱們當前的項目,還會要求輸入依賴包
composer install  讀取composer.json內容,解析依賴關係,安裝依賴包到vendor目錄下
composer update   更新最新的依賴關係到compsoer.lock文件,解析最新的依賴關係而且寫入composer.lock文件
composer search packagename 搜索包,packagename替換爲你想查找的包名稱
composer require packagename 添加對packagename的依賴,packagename可修改成你想要的包名稱
composer show packagename
composer self-update 更新 composer.phar文件自身
composer dump-autoload --optimize 優化一下自動加載
composer command --help 以上全部命令均可以添加 --help選項查看幫助信息
相關文章
相關標籤/搜索