以thinkphp3.2框架为例,简单介绍一下composer的使用:
1、首先需要安装composer
下载 Composer
安装前请务必确保已经正确安装了 PHP。打开命令行窗口并执行
php -v
查看是否正确输出版本号。
打开命令行并依次执行下列命令安装最新版本的 Composer:
复制
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
复制
php composer-setup.php
复制
php -r "unlink('composer-setup.php');"
执行第一条命令下载下来的 composer-setup.php
脚本将简单地检测 php.ini
中的参数设置,如果某些参数未正确设置则会给出警告;然后下载最新版本的 composer.phar
文件到当前目录。
上述 3 条命令的作用依次是:
- 下载安装脚本 -
composer-setup.php
- 到当前目录。 - 执行安装过程。
- 删除安装脚本。
Packagist 镜像使用方法
还没安装 Composer 吗?请往下看如何安装 Composer 。
镜像用法
有两种方式启用本镜像服务:
- 系统全局配置: 即将配置信息添加到 Composer 的全局配置文件
config.json
中。见“方法一” - 单个项目配置: 将配置信息添加到某个项目的
composer.json
文件中。见“方法二”
方法一: 修改 composer 的全局配置文件(推荐方式)
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:
复制
composer config -g repo.packagist composer https://packagist.phpcomposer.com
方法二: 修改当前项目的 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"
}
}
以 laravel 项目的 composer.json
配置文件为例,执行上述命令后如下所示(注意最后几行):
复制
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.2.*"
},
"config": {
"preferred-install": "dist"
},
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
}
进入到PHP的安装文件,我的PHPstudy中php位置为:D:\phpStudy\PHPTutorial\php\php-5.6.27-nts,(这里需要配置环境变量:配置完后需要将composer.phar复制到PHP安装文件内)
cmd进入到命令行内,进入到你的项目中,如我的:
安装组件
在 ThinkPHP 项目中安装一个错误与异常的组件 Whoops,地址:https://packagist.org/packages/filp/whoops
项目下的 composer require filp/whoops 就是该组件在 Composer 下的安装命令。
该组件的作用是如果 PHP 脚本中触发了错误和没有捕获的异常,则出现 Whoops 的诊断页面。
在命令提示符下进入项目目录:
执行命令 composer require filp/whoops
看到以上提示说明组件安装完成,此时查看项目目录,发现在根目录下会多一个 vendor 目录:
组件 Whoops 就位于 Vendor/filp 目录下。
此时再看根目录下 composer.json 文件:
项目的依赖组件中多了 Whoops 组件,版本是 2.1
测试组件
在 Application/Home/Controller 下创建 TestController.class.php 文件。首先测试系统捕获异常时的输出:
按 Ctrl+C 复制代码
按 Ctrl+C 复制代码
输出:
然后测试不加载 Whoops 组件,脚本遇到未捕获异常时的提示:
按 Ctrl+C 复制代码
按 Ctrl+C 复制代码
访问:http://127.0.0.3/php/composer/thinkphp/Home/Test
输出:
最后测试加载了 Whoops 组件,并且脚本遇到未捕获的异常时的输出:
按 Ctrl+C 复制代码
按 Ctrl+C 复制代码
输出:
测试结束。
附
安装组件的另一种方式
在 composer.json 文件中加入组件包:
例如添加组件 monolog
然后使用 composer update 命令下载组件
此时组件已经被安装到了项目中: