node.jsの魅力はノンブロッキングシステムにあります。そんなnode.jsの魅力をPHPで実現するソフトウェアがReactです。

サンプルコードです。読み込むたびに数字が繰り上がります。

同時に二つのファイルをダウンロードするデモです。パラレルで処理されています。


サーバを実行しているところです。


読み込むと数値が繰り上がっていきます。

ReactではApacheなどを使うのではなく、独自のWebサーバを立ち上げて実行します。また、そのままPHPを使うというよりはReactのライブラリでラッピングしながら作っていく形になります。そのため専用の作法を覚える必要がありそうですが、使い慣れたPHPを使ってノンブロッキングシステムを実現できるというのは魅力的かも知れません。

ReactはPHP製、MIT Licenseのオープンソース・ソフトウェアです。

MOONGIFTはこう見る

node.jsでシステムを組む場合、向き不向きを考えるのに加えてnode.js(つまりJavaScript)の特性を理解してコーディングする必要があります。処理される順番が保証されないので、これまでとは違う組み方をする必要があります。保証される方法もありますが、それを多用するとネストが深くなったり、そもそもnode.jsである必要がなくなったりします。

Reactの場合、ノンブロックにしたい場所をReactで囲むイメージなので必要に応じて使い分けると言ったことができそうです。ごくシンプルながら大量のアクセスが予想されるような場所において使ってみると効果的かも知れません。

React

react-php/react