zoukankan      html  css  js  c++  java
  • 使用Composer管理PHP依赖关系

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

    系统需求:

    Composer 需要PHP5.3.2+ 以上的环境来运行。有几个敏感的PHP设置和编译标志也是必需的,但安装程序会发出警告当存在任何不兼容的情况。比如PHP的扩展的要求是,安装或重新编译php without –disable-phar

    安装Composer

    Composer需要PHP 5.3.2+才能运行。

    $ curl -sS https://getcomposer.org/installer | php
    

    这个命令会将composer.phar下载到当前目录。PHAR(PHP 压缩包)是一个压缩格式,可以在命令行下直接运行。

    你可以使用--install-dir选项将Composer安装到指定的目录,例如:

    $ curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
    

    当然也可以进行全局安装:

    $ curl -sS https://getcomposer.org/installer | php
    $ mv composer.phar /usr/local/bin/composer

    不过通常情况下只需将composer.phar的位置加入到PATH环境变量就可以,不一定要全局安装。

    声明依赖

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

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

    安装依赖

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

    composer install  
    

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

    php composer.phar install  
    

    自动加载

    好,现在安装完了,该怎么使用呢?Composer自动生成了一个autoload文件,你只需要引用它,然后就可以非常方便的去使用第三方的类库了

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

    require 'vendor/autoload.php';  

    对于我们需要的monolog,就可以这样用了:

    use MonologLogger;
    use MonologHandlerStreamHandler;
    
    // create a log channel
    $log = new Logger('name');
    $log->pushHandler(new StreamHandler('/path/to/log/log_name.log', Logger::WARNING));
    
    // add records to the log
    $log->addWarning('Foo');
    $log->addError('Bar');
     
    在这个过程中,Composer做了什么呢?它生成了一个autoloader,再根据各个包自己的autoload配置,从而帮我们进行自动加载的工作。

    Composer是PHP中的一个依赖关系管理工具。通过Composer我们可以在发布软件时节省大量的文件数目和控制依赖包的版本。

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

    Composer Github项目:https://github.com/composer/composer

    PHP Composer软件包列表:https://packagist.org/



    参考: Composer 中文网
  • 相关阅读:
    递归与尾递归(C语言)
    超酷算法:Levenshtein自动机
    编程面试的10大算法概念汇总
    C 语言中的指针和内存泄漏
    计算机实际上是如何工作的
    超酷算法:同型哈希
    4个Linux服务器监控工具
    2015-3-23
    2015-3-20
    2015-3-19
  • 原文地址:https://www.cnblogs.com/DaBing0806/p/4797577.html
Copyright © 2011-2022 走看看