Composer的使用与安装

安装类库之前一定要先切换成中国镜像,否则会超级久,或是没反应!

composer解析:

composer.json文件:

{

    "require":{

        "厂商/类库名字":"版本号"

     }

}

composer.json与composer.lock的作用:

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

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

如果不存在composer.lock,composer将会通过composer.json来读取需要的包和相对的版本,然后创建composer.lock文件,这样子就可以在你的包有新的版本之后,你不会自动更新了,升级到新的版本,使用update命令即可,这样子就能获取最新版本的包并且也更新了你的composer.lock文件。

使用流程:

(全局安装)

1.安装,详情见http://docs.phpcomposer.com/00-intro.html#Introduction;

2.安装步骤完成后,进入到步骤二:在你的项目下使用(下载所需的软件包);

3.在你的项目的根目录中新建一个composer.json文件,里面写好你所需的软件包,像这样:

{

    "require":{

        "monolog/monolog":"1.0.*"

    }

}

然后进入安装软件包的步骤;

4.安装软件包之前先将composer切换成中国镜像

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

5.配置好中国镜像后,再通过命令行进入到你项目的根目录中;

6.进入到项目中后,执行composer install命令,这时只要等待就好,完成!

7.这时你的项目根目录就像这样

项目根目录

8.但是若要添加多个类库呢,像这样

composer.json文件

我又多加了一个smarty类库,如果此时我们依然直接执行composer install命令的话,则会报错的,因为你的composer.lock文件是没有更新的;

9.此时是报错的情形,这时你只要再输入composer update命令就好啦,所以完整的添加第二个类库的流程是:

1):先修改composer.json文件,往其中加入你所需的类库信息;

2):再在命令行中直接输入composer update就好啦!(也就是说,除了第一次加入类库时是执行composer install,其他时候再次添加的话就是直接更新就好了composer update)

10.卸载类库,只需要执行一条命令即可,如:composer remove phpmailer/phpmailer

最后,在你项目的入口文件像index.php中,加上一句:require(__DIR__.'/vendor/autoload.php');

这时你就可以非常方便的使用你加载的类库了!

当然你也可以在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的使用与安装)