composer

composer

composer命令

包的版本号

  1. composer自动加载

    composer提供了以下几种自动加载类型

    1. classmap

    2. psr-0

    3. psr-4

    4. files
      这几种加载方式都会用到,如laravel5.3的composer.json文件如下:

     "autoload": {
            "classmap": [
                "database"
            ],
            "psr-4": {
                "App\\": "app/"
            }
        },
    

    可以看到database目录是使用classmap的方式加载,而项目使用psr-4自动加载。

  2. composer的使用

    1. composer的命令

    composer list 查看所有可用的命令,以可以使用--help获得更多有用的信息。

    composer常用的命令:

    • 初始化init

    • 安装install

      install 命令从当前目录读取 composer.json 文件,处理了依赖关系,并把其安装到 vendor 目录下。

      composer install
      

      如果当前目录下存在 composer.lock 文件,它会从此文件读取依赖版本,而不是根据 composer.json 文件去获取依赖。这确保了该库的每个使用者都能得到相同的依赖版本。

      如果没有 composer.lock 文件,composer 将在处理完依赖关系后创建它。

      安装-参数

      • --prefer-source: 下载包的方式有两种: sourcedist。对于稳定版本 composer 将默认使用 dist 方式。而 source 表示版本控制源 。如果 --prefer-source 是被启用的,composer 将从 source 安装(如果有的话)。如果想要使用一个 bugfix 到你的项目,这是非常有用的。并且可以直接从本地的版本库直接获取依赖关系。
      • --prefer-dist:--prefer-source 相反,composer 将尽可能的从 dist 获取,这将大幅度的加快在 build servers 上的安装。这也是一个回避 git 问题的途径,如果你不清楚如何正确的设置。
      • --dry-run: 如果你只是想演示而并非实际安装一个包,你可以运行 --dry-run 命令,它将模拟安装并显示将会发生什么。
      • --dev: 安装 require-dev 字段中列出的包(这是一个默认值)。
      • --no-dev: 跳过 require-dev 字段中列出的包。
      • --no-scripts: 跳过 composer.json 文件中定义的脚本。
      • --no-plugins: 关闭 plugins。
      • --no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。
      • --optimize-autoloader (-o): 转换 PSR-0/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。
    • 更新update

      • 声明依赖require
        composer require 包名 版本号

        • --prefer-source: 当有可用的包时,从 source 安装。
        • --prefer-dist: 当有可用的包时,从 dist 安装。
        • --dev: 安装 require-dev 字段中列出的包。
        • --no-update: 禁用依赖关系的自动更新。
        • --no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。
        • --update-with-dependencies 一并更新新装包的依赖。
      • 全局执行global

      • 搜索search

      • 展示show

      • 依赖性检测depends

      • 有效性检测validate

      • 依赖包状态检测status

      • 更新composer self-update

      • 配置config

        composer config --list 查看composer的配置

      • 创建项目create-project

      • 打印自动生成索引dump-autoload
        psr-0新建文件夹后经常要跑这个命令

    1. composer版本号
    名称 实例 描述
    确切的版本号 1.0.2 你可以指定包的确切版本。
    范围 >=1.0 `>=1.0,<2.0``>=1.0,<1.1 >=1.2` 通过使用比较操作符可以指定有效的版本范围。 有效的运算符:>>=<<=!=。 你可以定义多个范围,用逗号隔开,这将被视为一个逻辑AND处理。一个管道符号` `将作为逻辑OR处理。 AND 的优先级高于 OR。
    通配符 1.0.* 你可以使用通配符*来指定一种模式。1.0.*>=1.0,<1.1是等效的。
    赋值运算符 ~1.2 这对于遵循语义化版本号的项目非常有用。~1.2相当于>=1.2,<2.0

下一个重要版本(波浪号运算符)

~ 最好用例子来解释: ~1.2 相当于 >=1.2,<2.0,而 ~1.2.3 相当于 >=1.2.3,<1.3。正如你所看到的这对于遵循 语义化版本号 的项目最有用。一个常见的用法是标记你所依赖的最低版本,像 ~1.2 (允许1.2以上的任何版本,但不包括2.0)。由于理论上直到2.0应该都没有向后兼容性问题,所以效果很好。你还会看到它的另一种用法,使用 ~ 指定最低版本,但允许版本号的最后一位数字上升。

你可能感兴趣的:(composer)