composer的安装和使用

1.composer是什么?

Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。是PHP依赖管理工具。
php最低版本5.3.2,开启了openssl扩展。

2.下载安装composer

1.linux下安装composer

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

2.windows下安装composer

下载并且运行 [Composer-Setup.exe][1],它将安装最新版本的 Composer ,并设置好系统的环境变量,因此你可以在任何目录下直接使用 composer 命令。

3.composer的简单使用

1.修改composer地址到中国镜像

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

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信息

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选项查看帮助信息
posted @ 2017-09-12 00:12  sunyangone  阅读(238)  评论(0编辑  收藏  举报