ReactPHP入門 ~HelloWorld編~
React PHPとは
React PHPはイベント駆動型プログラミングとノンブロッキングI/Oを実現する為のPHPのライブラリです。
ReactPHPはフレームワークではなく以下のような独立したコンポーネントで構成されます。
Core components
- EventLoop
- Stream
- Promise
Network components
- Socket
- Datagram
Protocol components
- HTTP
- HTTPClient
- DNS
Utility components
- Cache
- PromiseTimer
- ChildProcess
- PromiseStream
これらを組み合わせる事により、簡単にHTTPクライアント/サーバなどを書く事ができるらしい。
Hello World
まずはお決まりのHelloWorldを返すサーバを構築して見たいと思います。
インストール
$ mkdir react $ cd react $ composer init $ composer require react/http
server.phpを作成
<?php require 'vendor/autoload.php'; $loop = React\EventLoop\Factory::create(); $server = new \React\Http\Server(function(\Psr\Http\Message\ServerRequestInterface $request){ return new \React\Http\Response(200, [ 'Content-Type' => 'text/plain', ], "Hello World\n"); }); $socket = new \React\Socket\Server(8080, $loop); $server->listen($socket); $loop->run();
これで$ php server.php
と実行し、ブラウザでlocalhost:8080を開くと無事ご挨拶完了です。
まとめ
PHPでもこんなに簡単にサーバ書ける時代になってたんだなぁ。まだまだ色々出来そうなので試していこうと思います。
次回は簡単なチャットでも作ってみたいと思います。