最近のWebアプリではJsonを使ってデータ送受信をすることが多いような気がします。というか私がそうです。
で、今更ながらにMessagePackというのを知ったので、それについて簡単な実験してみました。
というわけで今回はJavaScriptをクライアント側、PHPをサーバー側というWebアプリを想定して、PHP→JavaScriptというデータ送受信をしてみたので、それについて書いてみたいと思います。
MessagePack自体の具体的な説明はここでは割愛させて頂いちゃいます。
PHPで使えるようにする
公式サイトのページ下部に「動作環境」という項目があり、MessagePackを使える言語とその使い方が記述されています。PHPについてはPECLでインストールする公式版(?)とComposerでインストールするrybakit版(?)の2種類があります。
今回の実験ではまず公式版をインストールしてみました。使ったシステムは以前に構築したVirtualBox+CentOS7の開発用Webサーバーです。
手順は簡単で、PECLのリポジトリをアップデートしてインストールするだけです。
sudo su
pecl channel-update perl.php.net
pecl install msgpack
ここで、私の場合はエラーが。。。
調べてみるとPHP7が必要とのことですが、今回のシステムはPHP5.6.30でした。「動作環境」には「PHP5以上ならOK」的な記述もあります。が、それはどうやら以前のバージョン0.5の時までで、現在PECLでインストールできるのはPHP7必須のバージョン2のようです。
というわけで、rybakit版をインストールしました。こちらも手順は簡単ですが、システムにComposerが入っていなかったのでそこから始めました。
curl -sS https://getcomposer.org/installer | php
sudo mv ./composer.phar /usr/local/bin/composer
で、Composerで普通にインストールするだけです。
composer require rybakit/msgpack
あとはいつも通りコードの最初で読み込むだけですね。
require_once('vendor/autoload.php');
JavaScriptで使えるようにする
JavaScriptでMessagePackを使いたい場合はnpmでインストールしてrequireすれば良いようです。
// npmインストール
npm install msgpack
// コード内でrequire
var msgpack = require('msgpack');
本格的に開発する場合はそうすべきかと思いますが、今回はより簡単にやってみたいなと思いました。で、調べてみるとmsgpack.min.jsというのがあったので、これを使うことにしました。以下URLの「Browser Build」という項目で確認できます。
https://github.com/kawanet/msgpack-lite
HTMLに以下を埋め込めばOKでした。
<script src="https://rawgit.com/kawanet/msgpack-lite/master/dist/msgpack.min.js"></script>
続きます
というわけで、今回は準備としてPHPとJavaScriptで使えるようにライブラリをインストールしてみました。
次回は実際に使ってみます。