Composer使用

一、composer是什么

如果你知道yumapt-getnpmbower等命令中的一种或者多种,那么,你也能很快知道composer是什么了。没错,它就是PHP里快速安装类库的。平时,我们安装一个PHP类库,需要搜索->下载;使用composer,我们只要知道包名,直接composer insatll就可以了。

PHP 语言本身就带有强大的网络功能、文件管理功能和丰富的系统 API,Composer 也只是一段 PHP 脚本而已。

引自Composer中文网的描述:

二、作用

安装PHP包、依赖库。

示例:

$ composer require monolog/monolog

这是在安装monolog库。

$ composer create-project laravel/laravel learnlaravel5 5.0.22

这是在安装laravel框架并创建项目。

YII框架也是通过composer安装的。

三、为什么用composer

通过过composer,我们可以使用大量的第三方库,而无需自己造轮子。优秀项目示例:

  • overtrue/wechat 让微信开发更简单!
  • catfan/medoo 一款ORM框架
  • monolog/monolog 日志记录
  • hprose/hprose RPC框架

你可以在 https://packagist.org/ 找到你需要的库。甚至你可以提交自己写的优秀的库到该平台里供大家使用。

如果不会composer,流行的laravelyii框架安装都成为问题,更不用谈学习了;很多优秀的轮子你无法使用。所以,推荐phper必须学会composer。

四、win10下安装composer

1、使用安装程序 

    这是将 Composer 安装在你机器上的最简单的方法。

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

2、PHP命令安装

 1. cmd进入命令提示符,进入安装目录下 

     我的安装目录在(D:\composer),如图

     

2. 下载composer.phar

    输入命令: php -r "readfile('https://getcomposer.org/installer');" | php 

   

    注意:

    1)如果出现如下错误,你需要为 PHP 设置环境变量(环境变量目录指向php.exe目录),让全局都能访问

    

    2)如果收到 readfile 错误提示,请使用 http 链接或者在 php.ini 中开启 php_openssl.dll 

3. 在 composer.phar 同级目录下新建文件 composer.bat

     输入命令: echo @php "%~dp0composer.phar" %*>composer.bat

    

4. 关闭当前的命令行窗口,打开新的命令行窗口进行测试

    输入命令:composer -V

    

    注意:    

        如果composer 没有配置环境变量,就只能在安装目录下运行,不然会报如下错误;

        若是已配置环境变量,并在新的命令行窗口使下该命令仍报如下错误,那么请重启一下计算机;

        

安装成功后在命令行窗口运行composer,会显示下面内容,说明安装成功

五、使用composer安装扩展包

以下以monolog为例:

1、声明依赖

项目目录下创建一个composer.json文件,指明依赖,比如,你的项目依赖 monolog:

{
    "require": {
        "monolog/monolog": "1.2.*"
    }
}

如果不需要使用https,可以这么写,以解决有时候因为https造成的问题:

{
    "require": {
        "monolog/monolog": "1.2.*"
    },
    "config": {
        "secure-http": false
    }
}

2、安装依赖

安装依赖非常简单,只需在项目目录下运行:composer install

更新全部的包(谨慎使用):composer update

注意:使用composer install或者composer update命令将会更新所有的扩展包,项目中使用需谨慎!!!

(1)若只安装指定的包推荐在命令行使用

composer require monolog/monolog

进行安装。

如果需要指定版本:

composer require "monolog/monolog:1.2.*"

(2)更新某个包:

composer update monolog/monolog

(3)移除某个包:

composer remove monolog/monolog

如果手动更新了composer.json需要更新autoload:

composer dump-autoload

六、自动加载

Composer提供了自动加载的特性,只需在你的代码的初始化部分中加入下面一行:

require 'vendor/autoload.php';

详细示例

{
    "require": {
        "php": ">=5.4.0",
        "illuminate/database": "*",
        "monolog/monolog": "1.2.*"
    },
    "config": {
        "secure-http": false
    },
    "autoload": {
        "classmap": [
          "app/models"
        ],
        "files": [
            "vendor/yjc/src/Alipay/autoload.php"
            ],
        "psr-4": {
            "Yjc\\Sms\\": "vendor/yjc/src/Sms"
        }
    }
}

autoload部分指定自动加载的文件夹,每次里面的文件有新增,使用composer dump-autoload即可。

七、命令汇总

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选项查看帮助信息

 八、常见镜像地址:

https://packagist.org 国外的,默认
http://packagist.phpcomposer.com 中国全量镜像,推荐使用。网址:https://pkg.phpcomposer.com/

1、镜像用法

有两种方式启用本镜像服务:

  • 系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中。见“方法一”
  • 单个项目配置: 将配置信息添加到某个项目的 composer.json 文件中。见“方法二”

 方法一: 修改 composer 的全局配置文件(推荐方式)

打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:

 

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

方法二: 修改当前项目的 composer.json 配置文件:

打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是 composer.json 文件所在目录),执行如下命令:

composer config repo.packagist composer https://packagist.phpcomposer.com

2、解除镜象:

如果需要解除镜像并恢复到 packagist 官方源,请执行以下命令:

composer config -g --unset repos.packagist

执行之后,composer 会利用默认值(也就是官方源)重置源地址。

 

ps:我的composer是默认安装在c盘,路径为:C:\ProgramData\ComposerSetup\bin

 

 
posted @ 2019-06-17 17:18  艾薇-Ivy  阅读(370)  评论(0编辑  收藏  举报