composer_composer-setup - CSDN
  • Composer 安装与基本使用 讲解了composer的 三大组成部分,如何命令行安装 setup,下载运行thinkphp。 包版本的范围指定,包括包版本波浪线和脱字符号的区别 案例分享:monolog日志库安装和使用范例 ...
  • 你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。 composer 的出现,大大提升了 phper 的逼格。如果你的生产开发环境能够连接互联网,赶紧把 composer 下载安装...

    Composer是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。

    composer 的出现,大大提升了 phper 的逼格。如果你的生产开发环境能够连接互联网,赶紧把 composer 下载安装起来吧。

    composer 官方网址:https://getcomposer.org/
    composer 中文网站:http://www.phpcomposer.com/

    下载 composer

    composer 的下载安装模式经常更新升级,最新的方式如下

    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
    php composer-setup.php
    php -r "unlink('composer-setup.php');"

    The 4 lines above will, in order:

    • Download the installer to the current directory

    • Verify the installer SHA-384 which you can also cross-check here

    • Run the installer

    • Remove the installer

    上面四行命令主要起以下作用:

    • 下载安装文件到当前目录

    • 通过 SHA-384 验证安装文件的完整性

    • 执行安装

    • 删除安装文件

    全局安装

    cp composer.phar /usr/local/bin/composer

    也可以设置别名

    比如你是 zsh 环境,编辑 .zshrc

    alias composer='php -n /你的实际路径/composer'

    -n 参数不包含所有 php 配置文件,是为了防止 Xdebug 冲突用的。

    配置中国区镜像

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

    • 系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中。见“例1”

    • 单个项目配置: 将配置信息添加到某个项目的 composer.json 文件中。见“例2”

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

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

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

    例2:修改当前项目的 composer.json 配置文件:

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

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

    上述命令将会在当前项目中的 composer.json 文件的末尾自动添加镜像的配置信息(你也可以自己手工添加):

    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    }

    composer 升级

    ➜  ~ composer self-update
    You are already using composer version 1.2.0 (stable channel).

    composer 卸载

    如果你的 composer 不小心出现什么问题了,用 composer update也解决不了问题,那么你可以试试卸载后重新安装。

    删除 composer 目录

    其实 composer 就是一些 php 文件,你只要找到将他们删除即可。
    我们可以执行

    composer config -l -g | grep "home|dir" -E

    找到对应的目录删除即可。

    卸载全局 composer 命令

    首先,我们经常会将 composer 配置成全局命令,这时,我们可以用 where composer 或者type composer 找到对应路径,然后 rm 掉即可。

    如果是 homebrew 安装的话,直接用 brew info composer 就可以查看已安装的 composer 的位置了。

    对了,你如果配置过别名,还需找到 shell 的配置文件,将别名删除。

    恩,现在就开始你的 composer 之旅吧。



    转自:http://xfenglin.com/a/12007698450.html

    展开全文
  • Composer 使用

    2018-06-07 11:38:33
    composer是什么: 如果你知道yum、apt-get、npm、bower等命令中的一种或者多种,那么,你也能很快知道composer是什么了。没错,它就是PHP里快速安装类库的。平时,我们安装一个PHP类库,需要搜索->下载;...

    composer是什么:                                                                                

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

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

    引自Composer中文网的描述:

        是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库              (libraries),Composer 会帮你安装这些依赖的库文件。                                                                               

    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。

    安装composer:                                                                                    

    首先得安装composer命令行工具;

    脚本自动安装:

    下面是安装命令(来自https://getcomposer.org/download/):

    php -r "readfile('https://getcomposer.org/installer');" > composer-setup.php
    
    php -r "if (hash('SHA384', file_get_contents('composer-setup.php')) === 'fd26ce67e3b237fffd5e5544b45b0d92c41a4afe3e3f778e942e43ce6be197b9cdc7c251dcde6e2a52297ea269370680') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); }"
    
    php composer-setup.php
    
    php -r "unlink('composer-setup.php');"

    按顺序执行即可。安装好后提示:

    All settings correct for using Composer
    Downloading...
    
    Composer successfully installed to: /root/composer/composer.phar
    Use it: php composer.phar

    操作执行结束会在当前目录下生成compsoer.phar文件。

    在linux中,composer.phar是可执行程序。例如我们可以使用:

    php composer.phar update

    执行更新操作。

    进行全局安装:

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

    之后,就可以直接使用composer install安装包了。不过通常情况下只需将composer.phar的位置加入到PATH就可以,不一定要全局安装。

    手动安装

    首先去https://getcomposer.org/download/下载https://getcomposer.org/download/1.2.0/composer.phar,建议下载最新版本的:
    Latest Snapshot
    1.2.0 (2016-07-18)
    1.2.0-RC (2016-07-04)
    1.1.3 (2016-06-26)
    1.1.2 (2016-05-31)

    下载后放到php安装位置里,然后

    Linux:
    cp composer.phar /usr/bin/composer
    chmod +x /usr/bin/composer

    Windows:

    新建

    composer.bat #windows用
    composer #git-bash用

    composer.bat

    @ECHO OFF
    php "%~dp0composer.phar" %*

    composer

    #!/bin/sh
    
    dir=$(d=$(dirname "$0"); cd "$d" && pwd)
    
    # see if we are running in cygwin by checking for cygpath program
    if command -v 'cygpath' >/dev/null 2>&1; then
        
        # cygwin paths start with /cygdrive/ which will break windows PHP,
        # so we need to translate the dir path to windows format. However
        # we could be using cygwin PHP which does not require this, so we
        # test if the path to PHP starts with /cygdrive/ rather than /usr/bin.
        if [[ $(which php) == /cygdrive/* ]]; then
            dir=$(cygpath -m $dir);
        fi
    fi
    
    dir=$(echo $dir | sed 's/ /\ /g')
    php "${dir}/composer.phar" $*

    Linux需要给composer可执行权限。之后就可以使用composer了:

    $ composer
       ______
      / ____/___  ____ ___  ____  ____  ________  _____
     / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
    \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                        /_/
    Composer version 1.6.5 2018-05-04 11:44:59
    
    Usage:
      command [options] [arguments]
    
    Options:
      -h, --help                     Display this help message
      -q, --quiet                    Do not output any message
      -V, --version                  Display this application version
          --ansi                     Force ANSI output
          --no-ansi                  Disable ANSI output
      -n, --no-interaction           Do not ask any interactive question
          --profile                  Display timing and memory usage information
          --no-plugins               Whether to disable plugins.
      -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
      -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
    
    Available commands:
      about                  Shows the short information about Composer.
      archive                Creates an archive of this composer package.
      browse                 Opens the package's repository URL or homepage in your browser.
      check-platform-reqs    Check that platform requirements are satisfied.
      clear-cache            Clears composer's internal package cache.
      clearcache             Clears composer's internal package cache.
      config                 Sets config options.
      create-project         Creates new project from a package into given directory.
      depends                Shows which packages cause the given package to be installed.
      diagnose               Diagnoses the system to identify common errors.
      dump-autoload          Dumps the autoloader.
      dumpautoload           Dumps the autoloader.
      exec                   Executes a vendored binary/script.
      global                 Allows running commands in the global composer dir ($COMPOSER_HOME).
      help                   Displays help for a command
      home                   Opens the package's repository URL or homepage in your browser.
      info                   Shows information about packages.
      init                   Creates a basic composer.json file in current directory.
      install                Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
      licenses               Shows information about licenses of dependencies.
      list                   Lists commands
      outdated               Shows a list of installed packages that have updates available, including their latest version.
      prohibits              Shows which packages prevent the given package from being installed.
      remove                 Removes a package from the require or require-dev.
      require                Adds required packages to your composer.json and installs them.
      run-script             Runs the scripts defined in composer.json.
      search                 Searches for packages.
      self-update            Updates composer.phar to the latest version.
      selfupdate             Updates composer.phar to the latest version.
      show                   Shows information about packages.
      status                 Shows a list of locally modified packages, for packages installed from source.
      suggests               Shows package suggestions.
      update                 Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
      upgrade                Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
      validate               Validates a composer.json and composer.lock.
      why                    Shows which packages cause the given package to be installed.
      why-not                Shows which packages prevent the given package from being installed.
     easywechat
      easywechat:extensions  Lists all installed extensions.

    生成一个空得composer项目:                                                                

        在合适得位置新建文件夹。进入文件夹csdn,在csdn文件夹下新建文件composer.json:

    {
      "require": {
      }
    }

    切换到csdn目录下,运行:

    composer update

    就会在该目录下生成一个vendor文件夹。以后所有的第三扩展包都会安装在这里。

    里面的代码大家可以看看。

    安装扩展包:                                                                                          

     以下以monolog为例:

    首先声明依赖,变价composer.json文件:

    {
      "require": {
          "monolog/monolog":"1.2.*"
      }
    }
    如果不需要使用https,可以这么写,以解决有时候因为https造成的问题:
    {
      "require": {
          "monolog/monolog":"1.2.*"
      }
       "config": {
            "secure-http": false
        }
    }
    现在安装依赖

    安装依赖很简单,只要在项目目录(此示例的目录为csdn)下运行下面语句即可:

    composer install

    如果没有全局安装的话,则运行:

    php composer.phar install

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

    composer update

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

    若只安装指定包推荐使用:

    composer require monolog/monolog

    如果指定版本,使用:

    composer require "monolog/monolog:1.2.*"

    更新某个包:

    composer update monolog/monolog

    移除某个包:

    composer remove monolog/monolog

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

    composer dump-autoload

    包版本约束:

    精确版本,示例:1.2.1;   

    范围:使用比较操作符可以指定包的范围。这些操作包括> 、 >= 、< 、<=、!=。你可以定义多个范围,使用空格或者逗号表示逻辑上的与,使用双竖线表示逻辑上的或。其中与的优先级大于或。示例:

    >=1.0
    >=1.0 <2.0
    >=1.0,<2.0 || >=1.2

    范围(使用连字符)

    例子:1.0-2.0 等同于 >=1.0.0  <2.1 (2.0等同2.0.*)

    通配符:可以使用通配符定义版本  1.0.* 相当于>=1.0 <1.1。

    示例:1.0.*

    下一个重要版本操作符:

    使用波浪号~:

    ~1.2 相当于>=1.2 <2.0.0,而~1.2.3 相当于 >=1.2.3 <1.3.0

    使用折音符^:

    ^1.2.3 相当于 >=1.2.3 <2.0.0

    因为在2.0版本前的版本应该都没有兼容性的问题。而对于1.0之前的版本,这种约束方式也考虑到了安全问题,例如 ^0.3 会被当作 >=0.3.0 <0.4.0 对待。

    自动加载

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

    更多可用命令,可以在命令行输入composer进行查看。

    模块仓库:                                                                                              

    packagist.org是composer仓库,许多著名的composer库都可以在其中找到,你也可以提交自己的作品。

    当你安装完composer后。使用时却发现不能下载composer包。或者很慢,这是一个总所周知的原因。

    所以,我们使用国内的镜像站点代替,常用的方式有两种:

    1.修改全局配置。

    全局配置这个文件一般会放在C:\Users\XXX\AppData\Roaming\Composer\config.json,例如C:\Users\YJC\AppData\Roaming\Composer\config.json 。(这里以windows路径为例)。可以通过命令composer config -l查看配置,其中[home]为配置所在目录。config.json即为配置文件。

    {
        "config": {
    
        },
        "repositories": [
            {"type": "composer", "url": "http://pkg.phpcomposer.com/repo/packagist/"},
            {"packagist": false}
        ]
    }

    或者使用命令直接修改

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

    2.修改当前配置,即项目的当前路径的composer.json文件。

    {
      "require": {
        "noahbuscher/macaw": "dev-master"
      },
      "repositories": [
            {   
                "packagist": false
            },  
            {   
                "type": "composer", 
                "url": "http://packagist.cn"
            }   
        ]
    }
    3、常见镜像地址:
    https://packagist.org 国外的

    http://packagist.phpcomposer.com 中国全量镜像

    推荐的优秀的包:                                                                                   

    overtrue/wechat 让微信开发更简单!
    thenbsp/wechat
    catfan/medoo
    illuminate/database
    psr/log
    monolog/monolog
    symfony/event-dispatcher
    phpunit/phpunit
    phpunit/php-timer
    michelf/php-markdown markdown 文档解析
    intervention/image 图片处理
    mytharcher/alipay-php-sdk

    更多查看:https://packagist.org/explore/popular

    发布自己的包:                                                                                       

    大概步骤如下:

    • 在github上创建一个项目(项目名称可以随意)。
    • 编写composer.json文件。
    • 复制代码文件并修改命名空间。
    • http://packagist.org/上递交自己的包。
    • 设置github的hook。

    编写composer.json文件:

    {
        "name": "jenner/message_queue",
        "description": "php message queue wrapper",
        "license": "MIT",
        "keywords": ["message queue"],
        "version": "1.0.0",
        "authors": [
            {
                "name": "Jenner",
                "email": "hypxm@qq.com"
            }
        ],
        "require": {
            "php": ">=5.3.0"
        },
     
        "autoload": {
            "psr-0": {
                "Jenner\\Zebra\\MessageQueue": "src/"
            }
        }
    }

    需要注意几个字段说明如下:

    name:包名称,递交packagist时会检测命名是否合法,必须有一个/分割。当别人引入你的包时会自动在vendor文件夹下创建这个目录。例如monolog/monolog包,会在vendor文件夹下创建monolog/monolog文件夹。

    autoload:包的加载方式,具体加载方式可以参考composer中文网说明。这里使用的时psd-0标准加载反射光hi。composer会在src目录下根据命名空间执行自动加载。

    背景:                                                                                                    

    Framework Interoperability Group(框架可互用性小组),简称 FIG,成立于 2009 年。FIG 最初由几位知名 PHP 框架开发者发起,在吸纳了许多优秀的大脑和强健的体魄后,提出了 PSR-0 到 PSR-4 五套 PHP 非官方规范:

    1. PSR-0 (Autoloading Standard) 自动加载标准
    2. PSR-1 (Basic Coding Standard) 基础编码标准
    3. PSR-2 (Coding Style Guide) 编码风格向导
    4. PSR-3 (Logger Interface) 日志接口
    5. PSR-4 (Improved Autoloading) 自动加载优化标准

    之后,在此标准之上,Composer 横空出世!Composer 利用 PSR-0 和 PSR-4 以及 PHP5.3 的命名空间构造了一个繁荣的 PHP 生态系统。Composer 类似著名的 npm 和 RubyGems,给海量 PHP 包提供了一个异常方便的协作通道,Composer Hub 地址:https://packagist.org/。Composer 中文网站:http://www.phpcomposer.com/

    目前 PHP 界风头正劲的 Laravel 和 Symfony 均直接基于 Composer,大家耳熟能详著名框架 CI 和 Yii 的正开发版本 CodeIgniter 3 和 Yii 2 也都基于 Composer(更新:北京时间2014年10月13日 Yii 2 已经发布)。Composer 就是 PHP 框架的未来,有了它,让 CI 的路由和 Laravel 的 Eloquent ORM 协作就会变的非常简单。

    常见问题:                                                                                             

    Windows下出现:Fxp\Composer\AssetPlugin\Repository\NpmRepository does not exist

    进入C:\Users\YJC\AppData\Roaming\Composer目录,删除vendor目录。

    有用的资源:                                                                                  

    1、利用 Composer 一步一步构建自己的 PHP 框架(一)——基础准备 - 岁寒
    https://lvwenhan.com/php/405.html

    2、PHP 开发者该知道的 5 个 Composer 小技巧 - 新闻 - SegmentFault
    https://segmentfault.com/a/1190000000355928

    3、Composer 中文网
    http://www.phpcomposer.com/

    4、Packagist / Composer 中国全量镜像
    http://pkg.phpcomposer.com/

    5、Composer安装
    https://getcomposer.org/download/

    6、composer之创建自己的包 - 始终不够
    http://www.huyanping.cn/composer%e4%b9%8b%e5%88%9b%e5%bb%ba%e8%87%aa%e5%b7%b1%e7%9a%84%e5%8c%85/

    7、php - 请各位分享或推荐一下composer里面好用的包 - SegmentFault
    https://segmentfault.com/q/1010000000484379

    8、给 CI 插上翅膀——在 CodeIgniter 2 中使用 Laravel Eloquent ORM - 岁寒
    https://lvwenhan.com/php/414.html

    9、Composer进阶使用 —— 常用命令和版本约束 - icyfire - SegmentFault
    https://segmentfault.com/a/1190000005898222



















    展开全文
  • composer简介

    2019-04-28 15:11:14
    一、包管理器 ... PEAR 缺点 1.依赖处理容易出问题 2.配置非常复杂 3.难用的命令行接口 ...composer是php的一个依赖管理工具,不是一个包管理器,他涉及‘packages’和‘libraries’...composer官网 https://getcom...

    一、包管理器

    php PEAR

    PEAR 缺点

    1.依赖处理容易出问题

    2.配置非常复杂

    3.难用的命令行接口

    二、compose简介

    composer是php的一个依赖管理工具,不是一个包管理器,他涉及‘packages’和‘libraries’(包和库)

    在项目中声明所依赖的外部工具库,会自动安装这些工具库及所依赖的库文件

    composer官网

    https://getcomposer.org

    composer中文网

    http://www.phpcomposer.com

    三、安装composer

    composer-Setup.exe win操作系统 需翻墙

    composer.phar 通用安装方式,不需要翻墙

    下载:

    检测是否下载成功

    PHP composer.phar

    (表示下载成功)

    命令行下载

    PHP -v

    'php' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    再环境变量中添加PHP.exe目录

    安装

    1.局部安装

    将composer.phar 文件复制到任意目录(比如项目的根目录),然后通过 PHP composer.phar 指令即可使用composer

    2.全局安装

    mac或Linux系统

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

    win系统

    将composer.phar拷贝到php.exe的同级目录

    新建composer.bat文件,并将下面的代码保存到该文件

    @php "%~dp0composer.phar" %*

    在任意目录下都可以执行 composer 命令

    配置

    新建composer.json文件在composer.phar目录下文件内容分{}

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

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

    查看中国全量镜像

    composer config -gl

    使用

    1. 搜索

    2.展示

    3.申明依赖

    4安装

    5.更新

    到项目目录下

    命令创建配置文件(composer.json)

    初始化

    d:\wamp64\bin\php\php5.6.25>composer init
    
    
      Welcome to the Composer config generator
    
    
    
    This command will guide you through creating your composer.json config.
    
    Package name (<vendor>/<name>) [lixue/php5.6.25]:

    包名字

    Package name (<vendor>/<name>) [lixue/php5.6.25]: laxe/test
    
    

    描述

    Description []: test compose

    作者 格式

    John Smith <john@example.com> 

    Minimum Stability []:忽略直接回车

    选择一个库

    Package Type (e.g. library, project, metapackage, composer-plugin) []: library

    License []:为空直接回车

    之后全部 回车 yes

    monolog

    composer search monolog

    查看哪些版本

    composer show --all  monolog/monolog

    加载到配置文件当中

    在composer.json当中

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

    安装依赖

    composer install

    在php.exe目录中有一个vender已经安装成功

    也可以用reuqire声明依赖

    composer require symfony/http-foundation

    手动删除包 执行composer update

    展开全文
  • composer1.7.3

    2020-07-29 14:18:15
    composer安装文件,版本号1.7.3,下载后可以运行命令:composer self-update 更新到最新版本,目前(2018-11-28)已经是最新版本,下载之后,双击安装,
  • composer

    2020-07-26 19:05:54
    composer composer是PHP依赖管理工具,composer集成了PSR-4规范的类自动加载,composer官网地址: https://www.phpcomposer.com/ composer包托管在https://packagist.org/,当我们需要检索某项功能的依赖包时可以...

    composer

    composer是PHP依赖管理工具,composer集成了PSR-4规范的类自动加载,composer官网地址:

    https://www.phpcomposer.com/

    composer包托管在https://packagist.org/,当我们需要检索某项功能的依赖包时可以到这里自行检索,目前这里包含了很多著名的依赖框架和库,如:phpunitguzzleelasticsearchphpoffice等。

    1.composer的安装

    下载前请确保您的电脑能够成功连接互联网并且正确安装了PHP环境,可以在命令行通过执行php -v命令验证PHP安装是否正确,如果可以正确输出PHP版本号表示安装正确。

    下载安装步骤

    下载https://install.phpcomposer.com/installer到当前目录

    # 安装
    php installer
    
    # 删除安装脚本
    php -r "unlink('installer');"
    

    通过以上命令你的目录里会多一个composer.phar文件,这样我们就完成了对composer的局部安装,执行命令php composer.phar结果如下

       ______
      / ____/___  ____ ___  ____  ____  ________  _____
     / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
    \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                        /_/
    Composer version 1.10.8 2020-06-24 21:23:30
    
    Usage:
      command [options] [arguments]
    
    Options:
      -h, --help                     Display this help message
      -q, --quiet                    Do not output any message
      -V, --version                  Display this application version
          --ansi                     Force ANSI output
          --no-ansi                  Disable ANSI output
      -n, --no-interaction           Do not ask any interactive question
          --profile                  Display timing and memory usage information
          --no-plugins               Whether to disable plugins.
      -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
          --no-cache                 Prevent use of the cache
      -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
    
    Available commands:
      about                Shows the short information about Composer.
      archive              Creates an archive of this composer package.
      browse               Opens the package's repository URL or homepage in your browser.
      cc                   Clears composer's internal package cache.
      check-platform-reqs  Check that platform requirements are satisfied.
      clear-cache          Clears composer's internal package cache.
      clearcache           Clears composer's internal package cache.
      config               Sets config options.
      create-project       Creates new project from a package into given directory.
      depends              Shows which packages cause the given package to be installed.
      diagnose             Diagnoses the system to identify common errors.
      dump-autoload        Dumps the autoloader.
      dumpautoload         Dumps the autoloader.
      exec                 Executes a vendored binary/script.
      fund                 Discover how to help fund the maintenance of your dependencies.
      global               Allows running commands in the global composer dir ($COMPOSER_HOME).
      help                 Displays help for a command
      home                 Opens the package's repository URL or homepage in your browser.
      i                    Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
      info                 Shows information about packages.
      init                 Creates a basic composer.json file in current directory.
      install              Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
      licenses             Shows information about licenses of dependencies.
      list                 Lists commands
      outdated             Shows a list of installed packages that have updates available, including their latest version.
      prohibits            Shows which packages prevent the given package from being installed.
      remove               Removes a package from the require or require-dev.
      require              Adds required packages to your composer.json and installs them.
      run                  Runs the scripts defined in composer.json.
      run-script           Runs the scripts defined in composer.json.
      search               Searches for packages.
      self-update          Updates composer.phar to the latest version.
      selfupdate           Updates composer.phar to the latest version.
      show                 Shows information about packages.
      status               Shows a list of locally modified packages, for packages installed from source.
      suggests             Shows package suggestions.
      u                    Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
      update               Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
      upgrade              Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
      validate             Validates a composer.json and composer.lock.
      why                  Shows which packages cause the given package to be installed.
      why-not              Shows which packages prevent the given package from being installed.
    

    如果想全局安装composer,将composer.phar文件移动到系统环境变量目录下并给予执行权限即可。

    2.使用composer下载依赖

    下面演示下载作者开发的一个简单工具依赖roachhttps://packagist.org/packages/jhq0113/roach

    composer require jhq0113/roach
    

    执行完以上命令后,可以发现当前目录有一下变化

    -rw-r--r--   1 qiang  staff    59  7  4 11:46 composer.json
    -rw-r--r--   1 qiang  staff  1934  7  4 11:46 composer.lock
    drwxr-xr-x   5 qiang  staff   160  7  4 11:46 vendor
    

    最主要的变化是目录多了一个composer.json文件,内容如下,当我们需要更改依赖包时,修改require节点后,执行composer update即可。

    {
        "require": {
            "jhq0113/roach": "^1.0"
        }
    }
    

    我们如何使用刚刚下载的roach依赖呢?在项目的入口文件直接require vendor/autoload.php,这样roach库中的所有类都可以自动加载了,使用时直接use命名空间即可。如下:

    <?php
    use roach\Container;
    require __DIR__.'/vendor/autoload.php';
    Container::set('startTime', time());
    echo Container::get('startTime').PHP_EOL;
    

    以上例程输出

    1593834582
    

    composer还有很多应用,包括中国镜像初始化项目等,这里不再一一介绍,在官网都有详细介绍,自己去官网学习即可。

    3.搭建自己的composer库

    搭建自己的composer库的前提是得有个github账号,自己去注册即可。

    • 1.在github创建一个自己喜欢名称的仓库,如:roach

    • 2.git克隆roach仓库,添加composer文件,内容如下:

      {
        "name":"jhq0113/roach",      //库名称
        "description": "roach",
        "keywords": ["roach", "php", "tools"],
        "license": "MIT",
        "homepage":"https://github.com/jhq0113/roach",  //主页地址
        "type": "library",
        "authors": [    //作者信息
          {
            "name": "Jiang Haiqiang",
            "email": "jhq0113@163.com",
            "homepage": "https://github.com/jhq0113",
            "role": "Owner"
          }
        ],
        "autoload": {
          "psr-4": {
            "roach\\": "src/"  //自动加载目录
          }
        }
      }
      

      编写自己的代码实现,案例配置中src目录会自动与\roach命名空间对应,在下载使用的时候,composer会自动完成名称空间的注册。

    • 3.去https://packagist.org/packages网站进行注册登录,如果没有账号,直接使用github账号授权登录即可。

    • 4.在packagist中点击submit,填写Submit package信息,这里仅填写github中的Repository URL即可,Check没有问题提交即发布了一个自己的开源composer包。

    关于composer的介绍就到这了,如果我们在搭建和使用过程中遇到问题,可以加到QQ群【621674014】,我们一起讨论学习。

    学习更多内容: https://404.360tryst.com

    我的视频课程: https://edu.csdn.net/course/detail/9933

    展开全文
  • Composer的安装

    2018-07-31 10:50:07
    composer 先来大概介绍一下composer  Composer是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。  说的简单一点...
  • Composer简介

    2019-02-11 10:23:52
    简介 Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的... 下载 Composer 的可执行文件 局部安装 全局安装 全局安装 (on OSX via homebrew) 安装 - Windows 使用安装程序 ...
  • 各个版本说明 版本格式 主版本号.次版本号.修订号,版本号递增规则如下: 主版本号 当你做了不兼容的 API 修改, 次版本号 当你做了向下兼容的功能性...先行版本号及版本编译元数据可以加到“主版本号.......
  • Composer 使用简单教程

    2016-12-18 14:37:22
    一、把本地项目推到远程(如git)作为composer的资源包 作为composer的资源包必须要有个composer.json 文件 可通过composer命令(http://docs.phpcomposer.com/03-cli.html#init): composer init 按照提示来自动...
  • composer史上最全解析

    2019-11-21 13:12:53
    1、composer是什么 2、
  • composer详解

    2017-09-12 10:27:27
    composer架构原理composer的原理和其他的包管理工具都是一样的,只是实现的细节有些不同,例如yum,例如brew,例如apt-get还有packets。composer管理的原理上图已经表达的非常的清楚了,通过上图我们应该知道如何...
  • B-tree关键字插入操作 生成从空树开始,逐个插入关键字。但是由于B-树节点关键字必须大于等于[ceil(m/2)-1],(其中ceil(x)是一个取上限的函数)所以每次插入一个关键字;首先在最底层(叶子节点那一层)的某个非终端...
  • Composer 安装与使用 精进 所有命令 ,系统讲解了composer中所有的命令。 课程首先介绍了composer中全局属性,-h,-q,-V等等,详细讲解了 show 查看,install安装 require安装 ,update更新 等命令的使用! ...
  • composer的使用说明

    2016-12-14 17:44:42
    官方文档中文版:http://docs.phpcomposer.com/composer是什么?...你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。安装和使用1.安装 linux下 curl -s
  • 一、前言 &nbsp;&nbsp;&nbsp;&nbsp;...查看laravel文档的时候,看到Laravel Passport 实现 API 认证这个是真不错,但是本地实际安装的时候,一直安装不上,报错信息如标题所述...composer require la...
  • 所以composer中国全量镜像将安装包数据以及安装包元数据缓存到国内的机房,并通过国内的CDN进行加速,这样我们访问时就不用向国外的网站发起请求,所以提升了访问的速度。配置:那么我们怎么使用composer中国全量...
  • Composer安装与配置

    2020-06-17 17:22:23
    Composer简介 Composer 是 PHP 的一个依赖管理工具,它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。 对于使用者来说Composer非常的简单,通过简单的一条命令将需要的代码包下载到vendor目录下,...
  • WorldComposer 1.61.zip

    2020-07-30 23:33:25
    地形生成插件贼好用unity2018,2019 都可以 WorldComposer 1.61地形生成插件贼好用unity2018,2019 都可以 WorldComposer 1.61地形生成插件贼好用unity2018,2019 都可以 WorldComposer 1.61地形生成插件贼好用unity...
  • Composer (精进) composer.json组织架构,系统讲解了composer.json文件中所涉的所有字段。统一进行的梳理和分析。深入详细了学习了composer.json中的20多个属性。 01 Composer (精进) composer.json 概述 ...
1 2 3 4 5 ... 20
收藏数 44,274
精华内容 17,709
关键字:

composer