php composer使用

时间:2021-05-28 00:00:22

Composer-PHP中用来管理依赖(dependency)

定义

  1. composer是PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件。
  2. Composer 需要PHP5.3.2+ 以上的环境来运行。有几个敏感的PHP设置和编译标志也是必需的,但安装程序会发出警告当存在任何不兼容的情况。
  3. Composer 是兼容多平台的,其运行适用于Windows,Linux和OSX。

安装

  1. linux
    • curl -sS https://getcomposer.org/installer | PHP
    • 你可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径)
    • 全局安装

      mv composer.phar /usr/local/bin/composer

      现在只需要运行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar。
  2. windows

    下载 https://getcomposer.org/Composer-Setup.exe

    windows可能需要设置composer的环境变量
  3. composer -V 查看版本号

    composer -help 查看命令帮助
  4. 参考文献

    http://docs.phpcomposer.com/
  5. composer 中国镜像的使用

    http://pkg.phpcomposer.com/

composer.json 文件说明

  1. require key

     {
    "require": {
    "monolog/monolog": "1.0.*"
    }
    }
    • require 需要一个 包名称 (例如 monolog/monolog) 映射到 包版本 (例如 1.0.*) 的对象。
    • 包名称由供应商名称和其项目名称构成
  2. 版本运算符

    • 确切版本 1.0.2
    • 通配符 1.0.* 1.0的所有版本
    • 范围 >、>=、<、<=、!= ,你可以定义多个范围,用逗号隔开,这将被视为一个逻辑AND处理。一个管道符号|将作为逻辑OR处理。
    • 赋值运算符 1.2,1.2相当于>=1.2,<2.0, 允许1.2以上的任何版本,但不包括2.0。你还会看到它的另一种用法,使用 ~ 指定最低版本,但允许版本号的最后一位数字上升。
  3. 执行安装 php composer.phar install

    • 接着前面的例子,这将会找到 monolog/monolog 的最新版本,并将它下载到 vendor 目录。 这是一个惯例把第三方的代码到一个指定的目录 vendor。如果是 monolog 将会创建 vendor/monolog/monolog 目录。
    • 另一件事是 install 命令将创建一个 composer.lock 文件到你项目的根目录中。
    • 如果你正在使用Git来管理你的项目, 你可能要添加 vendor 到你的 .gitignore 文件中。 你不会希望将所有的代码都添加到你的版本库中。
  4. composer.lock - 锁文件

    • 在安装依赖后,Composer 将把安装时确切的版本号列表写入 composer.lock 文件。这将锁定改项目的特定版本。
    • 使用 update 命令。这将获取最新匹配的版本(根据你的 composer.json 文件)并将新版本更新进锁文件。php composer.phar update
    • 如果只想安装或更新一个依赖,你可以白名单它们:

      php composer.phar update monolog/monolog [...]
  5. 自动加载

    • 对于库的自动加载信息,Composer 生成了一个 vendor/autoload.php 文件。你可以简单的引入这个文件,你会得到一个免费的自动加载支持。

      require 'vendor/autoload.php';

    • 你可以在 composer.json 的 autoload 字段中增加自己的 autoloader。

        {
      "autoload": {
      "psr-4": {"Acme\\": "src/"}
      }
      }
    • 你可以定义一个从命名空间到目录的映射。此时 src 会在你项目的根目录,与 vendor 文件夹同级。例如 src/Foo.php 文件应该包含 Acme\Foo 类。

      添加 autoload 字段后,你应该再次运行 install 命令来生成 vendor/autoload.php 文件。

    • 引用这个文件也将返回 autoloader 的实例,你可以将包含调用的返回值存储在变量中,并添加更多的命名空间。这对于在一个测试套件中自动加载类文件是非常有用的,例如。

        $loader = require 'vendor/autoload.php';
      $loader->add('Acme\\Test\\', __DIR__);

使用示例

  1. 基本命令的使用

  2. 一个最小化的composer.json,切换到项目目录,新建一个composer.json

     {
    "require-dev": {
    "phpunit/phpunit": "4.3.*"
    }
    }
  3. 执行 composer install

    • 会创建vendor目录,里面就是相关的代码。
    • 会创建composer.lock文件
    • 会生成 vendor/autoload.php 是自动加载的php文件

php composer使用的更多相关文章

  1. Laravel Composer and ServiceProvider

    Composer and: 创建自定义类库时,按命名空间把文件夹结构组织好 composer.json>autoload>classmap>psr-4 composer dump-a ...

  2. 基于Composer Player 模型加载和相关属性设置

    主要是基于达索软件Composer Player.的基础上做些二次开发. public class ComposerToolBarSetting { public bool AntiAliasingO ...

  3. Composer概述及其自动加载探秘

    composer概述 一开始,最吸引我的当属 Composer 了,因为之前从没用过 Composer . Composer 是PHP中用来管理依赖关系的工具,你只需在自己的项目中声明所依赖的外部工具 ...

  4. composer 出现 configuration does not allow connection to http&period;&period;&period;&period;&period;&period;&period;

    出现这样的问题是,镜像使用的是http,而原地址是需要https,所以配置下关掉https就好了. 我们来个全局设置的方法: composer config -g secure-http false ...

  5. 在linux上如何通过composer安装yii

      Composer可以理解成一个依赖管理工具 它能解决以下问题 a) 你有一个项目依赖于若干个库. b) 其中一些库依赖于其他库. c) 你声明你所依赖的东西. d) Composer 会找出哪个版 ...

  6. composer

    composer 是PHP框架的包安装工具,类似于bower ,npm.bundler. 是命令行工具,没有图形界面. 系统要求 运行 Composer 需要 PHP + 以上版本.一些敏感的 PHP ...

  7. composer 报错:Your requirements could not be resolved to an installable set of packages 解决方法

    composer 报错: - Your requirements could not be resolved to an installable set of packages xxxxxxxxxxx ...

  8. composer 使用笔记

    使用composer 更新项目比如: composer create-project topthink/think wwwroot dev-master --prefer-dist提示openssl异 ...

  9. mac composer 安装

    在命令行执行 curl -sS https://getcomposer.org/installer | php 如果没安装 curl 执行以下代码 php -r "readfile('htt ...

  10. composer安装

    1.首先到php.net下载对应版本的php,zip版本即可,注意windows需要vc11运行库支持 2.配置path路径添加对php解压目录的引用 3.将php.ini-development  ...

随机推荐

  1. 列出zip文件内全部内容 当前目录下的所有文件压缩成zip格式的文件&lpar;file&period;zip&rpar;

    [root@ok Desktop]# zip -r image.zip ./*.jpg adding: 20161007_113743.jpg (deflated 0%) adding: 201610 ...

  2. 彼得原理&lpar;The Peter Principle&rpar;

    一. 关于彼得原理(The Peter Principle) 彼得原理(The Peter Principle)是由美国管理学家劳伦斯·彼得(Laurence.J.Peter)根据千百个有关组织中不能 ...

  3. 信驰达蓝牙4&period;0模块全面升级 v2&period;20 U最新发布

    作为国际蓝牙联盟成员之一,德州仪器(TI)于2012年强势推出CC254X系列单芯片(SOC)低功耗蓝牙收发器,经典51内核,最强优势在于丰富的外围(21个IO,UART,SPI,USB2.0,PWM ...

  4. 数据结构&lpar;树链剖分&rpar;:COGS 2109&period; &lbrack;NOIP2015&rsqb; 运输计划

    2109. [NOIP2015] 运输计划 ★★★   输入文件:transport.in   输出文件:transport.out   简单对比时间限制:1 s   内存限制:256 MB [题目描 ...

  5. 3&period;6 html报告乱码问题优化

    3.6 html报告乱码问题优化 前言python2用HTMLTestRunner生成测试报告时,有中文输出情况会出现乱码,这个主要是编码格式不统一,改下编码格式就行.下载地址:http://tung ...

  6. 不要拿ERP的报表忽悠领导!——一个报表引发的企业经营反思

    文 | 帆软数据应用研究院船长 本文出自:知乎专栏<帆软数据应用研究院>——数据干货&资讯集中地 领导的经营决策能只依赖于ERP报表吗? 不能! 1. ERP报表个性化不足:企业经 ...

  7. 2018&period;12&period;30 poj3734 Blocks(生成函数)

    传送门 生成函数入门题. 按照题意构造函数: 对于限定必须是出现偶数次的颜色:1+x22!+x44!+...=ex+e−x21+\frac {x^2}{2!}+\frac {x^4}{4!}+...= ...

  8. Javascript执行流总结

    面对各种各样的JavaScript代码,我们有时候难免会犯错.可当自己仔细研究一下,哦原来是这么回事.有时候怎么会想为什么Javascript程序会是这样执行的呢?为什么没有得到自己预期的答案呢?自己 ...

  9. ios加载本地html

    UIWebView加载工程本地网页与本地图片 - (void)viewDidLoad { [super viewDidLoad]; NSString *filePath = [[NSBundle ma ...

  10. 使用Filter解决登录中乱码问题

    使用Filter解决登录中乱码问题 衔接:https://www.cnblogs.com/zst18980621948/p/10654088.html 1.工作目录 新增Filter类 2.Login ...