精华内容
参与话题
问答
  • Composer 安装与基本使用 讲解了composer的 三大组成部分,如何命令行安装 setup,下载运行thinkphp。 包版本的范围指定,包括包版本波浪线和脱字符号的区别 案例分享:monolog日志库安装和使用范例 ...
  • composer 介绍及使用

    千次阅读 2018-08-19 15:18:19
    Composer使用 是什么 如果你知道yum、apt-get、npm、bower等命令中的一种或者多种,那么,你也能很快知道composer是什么了。没错,它就是PHP里快速安装类库的。平时,我们安装一个PHP类库,需要搜索->下载...

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

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

    引自Composer中文网的描述:

    是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),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,流行的laravel、yii框架安装都成为问题,更不用谈学习了;很多优秀的轮子你无法使用。所以,推荐phper必须学会composer。

    安装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
    操作执行结束,会在当前目录下生成composer.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=(echodir | sed ‘s/ /\ /g’)
    php “dir/composer.phar"*
    如果上述链接下载不了,请使用: http://pan.baidu.com/s/1gfmSIbD 密码: f4vr 。

    我还专门建了github仓库:https://github.com/52fhy/composer

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

    $ composer


    / _/ _ _ _ __ _
    / / / _ \/ _ `_ \/ _ \/ _ \/ / _ \/ _/
    / // // / / / / / / // / // ( ) __/ /
    ____/____// // // ./__/_/_//
    /_/
    Composer version 1.2.0 2016-07-19 01:28:52

    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 Short information about Composer
    archive Create an archive of this composer package
    browse Opens the package’s repository URL or homepage in your browser.
    clear-cache Clears composer’s internal package cache.
    clearcache Clears composer’s internal package cache.
    config Set config options
    create-project Create 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 Execute 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 Show 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 Show 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 Run the scripts defined in composer.json.
    search Search for packages
    self-update Updates composer.phar to the latest version.
    selfupdate Updates composer.phar to the latest version.
    show Show information about packages
    status Show a list of locally modified packages
    suggests Show package suggestions
    update Updates 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项目
    在合适的地方新建一个文件夹,命名为 MFFC(My First Framework based on Composer),在文件夹下新建文件 composer.json:

    {
    “require”: {
    }
    }
    命令行切换到 MFFC 目录下,运行:

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

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

    安装扩展包
    以下以monolog为例:

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

    {
    “require”: {
    “monolog/monolog”: “1.2.*”
    }
    }
    如果不需要使用https,可以这么写,以解决有时候因为https造成的问题:

    {
    “require”: {
    “monolog/monolog”: “1.2.*”
    },
    “config”: {
    “secure-http”: false
    }
    }
    安装依赖
    安装依赖非常简单,只需在项目目录下运行:

    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.0.2。

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

    =1.0
    =1.0 <2.0
    =1.0 <1.1 || >=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即可。

    详见:http://docs.phpcomposer.com/03-cli.html#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的仓库,很多著名的PHP库都能在其中找到。你也可以提交你自己的作品。

    当你安装完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
    copy代码文件并修改命名空间
    https://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下会自动创建这个目录。例如org/package包,则会在vender下创建org/package目录。

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

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

    PSR-0 (Autoloading Standard) 自动加载标准
    PSR-1 (Basic Coding Standard) 基础编码标准
    PSR-2 (Coding Style Guide) 编码风格向导
    PSR-3 (Logger Interface) 日志接口
    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 协作就会变的非常简单。

    常见问题
    1、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

    10、http://blog.csdn.net/zzulp/article/details/18981029

    展开全文
  • composer常用知识总结

    千次阅读 2017-02-12 17:25:45
    1. composer的安装 这里不说安装的问题,可以参考这里进行安装。 2. composer配置中国镜像 #使用命令: composer config -e #修改composer.json 添加如下代码 { "repositories": [ { "packagist": false }, {

    1. composer的安装

    这里不说安装的问题,可以参考这里进行安装。


    2. composer配置中国镜像

    #使用命令: composer config -e
    #修改composer.json 添加如下代码
      {
        "repositories": [
            {
                "packagist": false
            },
            {
                "type": "composer",
                "url": "http://packagist.cn"
            }
        ]
      }
    

    或者执行命令
      composer config -g repositories.packagist composer https://packagist.phpcomposer.com

    3. composer创建项目

    #比如laravel创建一个商城项目, 你也可以创建 ci 、yii 或者其他gackagist 上能找到的框架项目
      composer create-project laravel/laravel  ./shop

    4. composer初始化依赖包

    一般项目的根目录,如果使用composer命令创建的项目都会有一个composer.json 的文件或者lock文件
      如果没有我们可以创建一个 composer.json 文件,格式如下:

    {
           "require": {
                "predis/predis": "^1.1"
          }
      }

    上例表示:我们要下载一个厂商为predis 的 predis 库,版本为 >=1.1 <2.0
      我们也可以使用如下命令创建 composer.json

    composer init

    这里有个版本符号的问题,可以参考这里

    Constraint Internally
    1.2.3 =1.2.3.0-stable
    >1.2 >1.2.0.0-stable
    >=1.2 >=1.2.0.0-dev
    >=1.2-stable >=1.2.0.0-stable
    <1.3 <1.3.0.0-dev
    <=1.3 <=1.3.0.0-stable
    1 - 2 >=1.0.0.0-dev <3.0.0.0-dev
    ~1.3  等同于^1.3 >=1.3.0.0-dev <2.0.0.0-dev
    1.4.* >=1.4.0.0-dev <1.5.0.0-dev

    5. 查询包

    composer search predis

    6.更新下载依赖包

       composer install preids  从lock中读取 如果有
       composer update   predis  从json中读取
       composer  require  predis/predis=^1.1 直接命令行获取 不依赖于 composer.json

    7. 移除指定包

    composer remove predis
    #从composer 安装目录类执行全局移除phpunit
    composer global remove phpunit/phpunit

    8. 帮助命令

    composer 命令名称 --help


    9. composer软件自身更新

    composer self-update

    10.composer的其他常用命令

       composer list  #查看所有命令
       composer show 包名 #显示包信息
       composer dumpautoload   #生成自动加载文件

    附:composer的依赖包官网

          https://packagist.org/








    展开全文
  • composer 的安装、升级和卸载

    万次阅读 2016-09-07 11:07:03
    你可以在自己的项目中声明所依赖的外部工具库(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的基本使用

    万次阅读 2013-11-18 18:23:28
    Composer的基本使用 在项目中使用composer.json 在项目中使用composer,你需要有一个composer.json文件,此文件的作用主要用来声明包之间的相互关系和其他的一些元素标签。 require ...

    Composer的基本使用

    在项目中使用composer.json

    在项目中使用composer,你需要有一个composer.json文件,此文件的作用主要用来声明包之间的相互关系和其他的一些元素标签。

    require 关键字

    第一件事情在composer.json就是使用require关键字了,你将告诉composer哪些包是你项目所需要的

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

    如你所见,require的对象将会映射包的名称( monolog/monolog)和包的版本是1.0.*

    包的命名

    基本上包的命名是 主名/项目名称( monolog/monolog),主名必须唯一,但是项目也就是我们的包的名称可以有相同的,例如: igorw/json,和seldaek/json

    包的版本

    我们需要使用monolog的版本是1.0.*,他的意思是只要版本是1.0分支即可,例如1.0.0,1.0.2或者1.0.99

    版本定义的两种方式:

    1. 标准的版本:定义保准的版本包文件,如:1.0.2

    2. 一定范围的版本:使用比较符号来定义有效的版本的范围,有效的符号有>>=<,<=!=

    3. 通配符特别的匹配符号*,例如1.0.*就相当于>=1.0,<1.1版本的即可

    4. 下一个重要的版本:~符号最好的解释就是,~1.2就相当于>1.2,<2.0,但~1.2.3就相当于>=1.2.3,<1.3版本。   

    安装包

    在项目文件路径下运行

    $ composer install

    这样子他会自动下载monolog/monolog文件到你的vendor目录下面。

     

    接下来需要说明一件事情就是

    composer.lock - 锁定文件

    在安装完所有需要的包之后,composer会生成一张标准的包版本的文件在composer.lock文件中。这将锁定所有包的版本。

    使用composer.lock(当然是和composer.json一起)来控制你的项目的版本

    这一点非常的重要,我们使用install命令来处理的时候,它首先会判断composer.lock文件是否存在,如果存在,将会下载相对应的版本(不会在于composer.json里面的配置),这意味着任何下载项目的人都将会得到一样的版本。

    如果不存在composer.lock,composer将会通过composer.json来读取需要的包和相对的版本,然后创建composer.lock文件

    这样子就可以在你的包有新的版本之后,你不会自动更新了,升级到新的版本,使用update命令即可,这样子就能获取最新版本的包并且也更新了你的composer.lock文件。

    $ php composer.phar update
    或者
    $ composer update
    Packagist(这应该就是composer,感觉有点像python的包,虽然没那么强大,呵呵,有了这种标准以后,以后大家开发网站绝对会很轻松,可以借鉴很多人的代码了,并且更加方便了!)

    Packagist是composer的主要仓库,大家可以去看看,composer仓库的基础是包的源码,你可以随意的获取,Packagist的目的建成一个任何人都可以使用的仓库,这就意味着在你的文件中任意的require包了。

    关于自动加载

    为了方便的加载包文件,Composer自动生成了一个文件 vendor/autoload.php,你可以方便只有的使用它在任何你需要使用的地方

    require 'vendor/autoload.php';

    这意味着你可以非常非常方便的使用第三方代码了,假设你的项目需要使用monlog,你直接使用吧,他们都已经自动加载了的!

    $log = new Monolog\Logger('name');
    $log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
                                     
    $log->addWarning('Foo');

    当然你也可以在composer.json中加载自己的代码:

    {
        "autoload": {
            "psr-0": {"Acme": "src/"}
        }
    }

    composer将会把psr-0注册为Acme的命名空间

    你可以定义一个映射通过命名空间到文件目录,src目录是你的根目录,vendor是同一级别的目录,例如一个文件为:src/Acme/Foo.php就包含了Acme\Foo类

    当你在增加autoload之后,你必须要重新install来生成vendor/autoload.php文件

    在我们引用此文件的时候,将会返回一个autoloader类的实力,所以你可以把返回的值放入一个变量,然后在增加更多的命名空间,如果在开发环境下这是非常方便的,例如:

    $loader = require 'vendor/autoload.php';
    $loader->add('Acme\Test', __DIR__);
    展开全文
  • composer史上最全解析

    2019-04-13 22:35:01
    1、composer是什么 2、
  • Composer简介

    2019-02-11 10:07:35
    简介 Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的... 下载 Composer 的可执行文件 局部安装 全局安装 全局安装 (on OSX via homebrew) 安装 - Windows 使用安装程序 ...
  • Composer 的简介、安装及使用

    千次阅读 2018-01-11 08:30:36
    Composer的简介 简单说,Composer 就是一个安装包管理工具,服务于 PHP 生态系统。它包括了两个部分:Composer 和 Packagist。 Composer Composer 是由 Jordi Boggiano 和 Nils Aderman 创造的一个命令行工具,...
  • composer的简单使用

    2017-04-30 01:22:07
    composer的软件仓库在国外,我们修改为内镜像仓库,提高速度. composer config -g repositories.packagist composer https://packagist.phpcomposer.com 在项目中引入类库 在项目根目录下面写写...
  • Laravel 之Composer

    2019-10-02 22:55:03
    (1)Composer-Setup.exe  Win操作系统、需翻墙 (2)composer.phar  通用安装方式、不需要翻墙,win和linux都可以 直接下载: https://getcomposer.org/download/ 命令行下载: php -r "readfile('h...
  • 在介绍下面的时候,先看一下 laravel 5.6 的环境要求 所以大家的php版本一定不要小于 7.1.3 ,我本地使用的是...所以建议使用命令行安装,我在 E盘 下面建了个composer文件夹 ,打开cmd,进入 这个composer文件夹...
  • composer安装过程

    2020-07-31 10:05:18
    1.首先下载一个composer.phar文件(在phpstuy_pro下载也行),,或者直接下载重命名 https://install.phpcomposer.com/installer 2.放在php.exe目录下 3.创建一个composer.bat文件,内容如下 @php "%~dp0composer....
  • composer被墙了,因为工具包是放在github上的,所以只能用中国镜像:http://pkg.phpcomposer.com/
  • Composer安装教程

    2020-08-05 14:30:31
    下载地址:https://getcomposer.org/download/ 点击下载 1.下载完成点击安装 ... 3.直接点next 4.点install 5.点finish 6.打开命令win+r 7.输入composer 提示上边内容,证明composer已经安装成功 ...
  • 第一步、首先去官网下载composer.phar ;下载链接:https://getcomposer.org/download/composer.phar 第二步、composer.phar 复制到项目根目录,比如我的是:F:/wamp/bin/php/php7.0.10/php 第三步、执行 F:/wamp/...
  • composer 安装(PHPstudy环境)

    千次阅读 2018-03-22 15:16:34
    第一步:下载 composer https://getcomposer.org/Composer-Setup.exe 点击该链接可以下载 第二步:修改php.ini文件,需要开启对 php_openssl.dll 的支持 即在 php.ini 文件中找到 ...第三步:点击安装 composer
  • 之前安装过composer,没有出现任何问题,可是在另一台主机上安装的时候,安装过程却出现超时的问题,截图如下: 一开始我以为是忘记开启ssl拓展和intl拓展,但是看了php.ini配置文件发现拓展已经开启了,后来用另...
  • composer本地安装文档

    千次阅读 2018-03-02 16:10:36
    3.在composer.bat写 4.配置环境变量(将php目录复制到环境变量里) 5.将php.ini配置文件的extension=php_openssl.dll打开 6.打开CMD 输入composer -v 7.出现下图配置成功   还有一种方法直接下载...
  • 最近换了新电脑,好多东西都要重新装,今天又遇到一个composer,还是赶紧安装吧 1. 进入系统的 cd /usr/local/bin 目录 2.执行安装命令:curl -sS https://getcomposer.org/installer | php 出现如下页面,说明...
  • Composer安装失败解决

    千次阅读 2019-02-20 00:47:49
    win7 64系统,wamp X64软件,安装Composer出现问题。使用Composer-Setu.exe安装,报错如下 Connection Error [ERR_CONNECTION]: Unable to connect to getcomposer.org Request to ...
  • 1. 安装Composer 2. 创建项目代码,并在根目录下创建composer.json文件(composer init) 2. github上创建一个项目并提交代码 3. 在packagist上注册账号,并提交github的项目地址 4. 在github对应的项目设置下创建...
  • composer下载安装教程

    千次阅读 2019-06-17 14:07:40
    1.在https://www.phpcomposer.com/下载Composer-Setup.exe 2.一路安装即可
  • Composer 安装以及使用

    2018-04-13 09:49:55
    什么是Composer Composer是php的类库管理器(上传类、验证码类…....composer安装 复制离线包到php.exe(可以将文件路径配置在全局环境变量)的同级目录 可以到官网下载 或者 点击下面的连接 链接: https://pan....
  • 教你利用Composer安装Magento 2.0

    千次阅读 2017-08-25 11:48:05
    2014年12月的Magento的2.0测试版发布。我是如此渴望得到它,因为...在等待公测版本中,我们应该抓紧时间,并开始有一个alpha版,我认为它的安装步骤,不会有太大变化。该指南是有点长,但它肯定是值得你花时间阅读 ...
  • 以下安装教程有些可能没在维护了,建议都替换成阿里云的composer镜像地址:阿里云composer地址 ------------------------------------...原文:learnku站的composer安装教程与使用 使用Composer 使用 Composer 镜...
  • 我的站点配置在D:\wamp64\www目录下,所以我的Laravel项目安装在D:\wamp64\www目录下,cd进入D:\wamp64\www根目录站点,输入命令: composer create-project laravel/laravel=5.8.* --prefer-dist 项目名称 ...
  • 文章目录安装教程 下载地址:https://getcomposer.org/download/ 安装教程 ... 上图是选择composer安装的路径 请选择你php路径 如果你有腾讯云或者阿里云服务器请填写。不然直接点击next 接下来点击install ...
  • Composer的下载安装并使用

    千次阅读 2017-12-20 10:32:56
    Composer的下载安装并使用和Packagist的实例应用 Composer的介绍(百度百科) 2017/12/20 9:46:40 Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。...
  • Windows环境下Composer安装教程

    万次阅读 2017-04-21 14:41:03
    1.先下载Composer-Setup.exe,下载地址:下载Composer 。会自动搜索PHP.exe的安装路径,如果没有,就手动找到php路径下的php.exe。 2.在PHP目录下,打开php.ini文件,开启openssl扩展。去掉extension=...
  • 教你一步步composer安装Magento2.3

    千次阅读 2018-05-30 17:20:00
    magento不像普通的程序一样下载就可以直接安装,需要借助composer安装,还没没composer环境的朋友可以参考composer安装其实可以很简单 两行命令就解决了。magento对php要求比较高一些,建议使用php7.1,不然会提示...

空空如也

1 2 3 4 5 ... 20
收藏数 52,919
精华内容 21,167
关键字:

composer