在PHP中使用包管理器composer安装react/http
想不想在php中使用类似nodejs的npm的包管理工具?
composer给了我们几乎一毛一样的体验。如何开始?听我娓娓道来:
1.安装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
在Mac OS X下可以使用brew安装:
brew tap josegonzalez/homebrew-php
brew install josegonzalez/php/composer
不过通常情况下只需将composer.phar的位置加入到PATH环境变量就可以,不一定要全局安装。
2.声明依赖
在项目目录下创建一个composer.json文件,指明依赖,比如,你的项目依赖 monolog:
{
"require": {
"monolog/monolog": "1.2.*"
}
}
3.安装依赖
安装依赖非常简单,只需在项目目录下运行:
composer install
如果没有全局安装的话,则运行:
php composer.phar install
4.引入包
Composer提供了自动引入的特性,只需在你的项目代码的初始化部分中加入下面一行:
require 'vendor/autoload.php';
你的当前php文件就自动引入了所有的包。
好的,如果你到这一步了,那么恭喜你已进入composer的世界!接下来,我将创建一个调用composer包里面的非常著名的react/http
包来做一个示例。这个包号称是用nodejs来写php。
- 先创建一个新的文件夹来放这个项目,假设文件夹名叫
app
- 在
app
下创建一个名为composer.json
的文件夹,并写入以下依赖:
{
"require": {
"react/http": "*"
}
}
3.在命令行app
项目下,运行composer install
4.安装好之后,新建一个app.php
文件,作为项目的入口文件,并写入以下代码:
<?php
require 'vendor/autoload.php';
$loop = React\EventLoop\Factory::create();
$socket = new React\Socket\Server($loop);
$http = new React\Http\Server($socket);
$http->on('request', function ($request, $response) {
$response->writeHead(200, array('Content-Type' => 'text/plain'));
$response->end("Hello World!\n");
});
$socket->listen(1337);
$loop->run();
ok,一切皆已完成,现在就用你的浏览器访问:localhost:1337 ,你会发现'hello world'将会射入你眼中。
这是react/http的例子,安装其他的包的方法都一样,下面给一些常用的链接:
1.composer包浏览(官方) https://packagist.org/
2.composer中文站 http://www.phpcomposer.com/
3.composer官网 https://getcomposer.org/
请phper尽快转换思路,来到包管理的新世界吧。