facebook twitter hatena line email

「Php/composer/msgpack」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(hexData表示サンプル)
 
行34: 行34:
 
</pre>
 
</pre>
 
==hexData表示サンプル==
 
==hexData表示サンプル==
 +
<pre>
 
// 1. MessagePackでpack
 
// 1. MessagePackでpack
 
$packed = MessagePack::pack($user);
 
$packed = MessagePack::pack($user);
行45: 行46:
 
$binaryData = hex2bin($hexData);
 
$binaryData = hex2bin($hexData);
 
$unpacked = MessagePack::unpack($binaryData);
 
$unpacked = MessagePack::unpack($binaryData);
 +
</pre>

2025年6月13日 (金) 19:23時点における最新版

msgpackインストール

composer require rybakit/msgpack

mspackは色々あるが、今回はrybakitのものをインストール

参考:https://blog.e2info.co.jp/2018/08/20/php_messagepack/

サンプル

<?php
require_once __DIR__ . '/vendor/autoload.php';
use MessagePack\MessagePack;
$user = [
        'name' => "taro",
        'age' => 20
];
$packed = MessagePack::pack($user);
echo print_r($packed, 1);
$user = MessagePack::unpack($packed);
echo print_r($user, 1);

出力

��name�taro�age
Array
(
    [name] => taro
    [age] => 20
)

hexData表示サンプル

// 1. MessagePackでpack
$packed = MessagePack::pack($user);

// 2. バイナリデータを16進数文字列に変換
$hexData = bin2hex($packed);

echo "Packed hex data: " . $hexData . "\n";

// 3. 16進数文字列から元のデータに戻す
$binaryData = hex2bin($hexData);
$unpacked = MessagePack::unpack($binaryData);