zoukankan      html  css  js  c++  java
  • composer是php包管理工具

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

    MAC、LInux安装composer

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

    Windows安装:

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

     composer 国内镜像配置:(命令行中执行以下命令)

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

     生成一个空的Composer项目:

    在合适的地方新建一个文件夹,命名为 mvc,在文件夹下新建文件 composer.json

    {
      "require": {
      }
    }
    

    命令行切换到 mvc目录下,运行:

    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
    

      

    自动加载

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

    require 'vendor/autoload.php';
    

      

  • 相关阅读:
    正则表达式周二挑战赛 第七周
    [译]视区百分比,canvas.toBlob()以及WebRTC
    [译]因扩展Object.prototype而引发Object.defineProperty不可用的一个问题
    [译]JavaScript需要类吗?
    [译]JavaScript中几种愚蠢的写法
    [译]JavaScript中对象的属性
    JavaScript:数组的length属性
    [译]JavaScript中的变量声明:你可以打破的三条规则
    [译]ES6:JavaScript中将会有的几个新东西
    [译]ECMAScript 6中的集合类型,第三部分:WeakMap
  • 原文地址:https://www.cnblogs.com/mracale/p/9516955.html
Copyright © 2011-2022 走看看