MessagePackを使ってJavaScriptでPHPからデータを受信する(1)

最近のWebアプリではJsonを使ってデータ送受信をすることが多いような気がします。というか私がそうです。

で、今更ながらにMessagePackというのを知ったので、それについて簡単な実験してみました。

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で使えるようにライブラリをインストールしてみました。

次回は実際に使ってみます。

スポンサードリンク

twitterまたはFacebookでもコメントして頂けます