PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPセッションでのオブジェクトの保存


PHPのserialize()関数は、オブジェクトを格納する前に使用でき、unserialize()関数は、オブジェクトをセッションから取得する必要があるときに呼び出すことができます。

この関数は、特定の値の格納可能な表現をビットのシーケンスに変換します。これは、データをファイルやメモリバッファに保存したり、ネットワーク経由で転送したりできるようにするために行われます。

シリアル化機能を使用してオブジェクトを格納する-

session_start();
$object = new sample_object();
$_SESSION['sample'] = serialize($object);

「session_start」関数を使用してセッションが開始され、新しいオブジェクトが作成されます。作成されたオブジェクトは、「serialize」関数を使用してシリアル化され、_SESSION変数に割り当てられます。

<?php
$data = serialize(array("abc", "defgh", "ijkxyz"));
   echo $data;
?>

出力

これにより、次の出力が生成されます-

a:3:{i:0;s:3:"abc";i:1;s:5:"defgh";i:2;s:6:"ijkxyz";}

unserialize関数を使用してオブジェクトを取得する-

session_start();
$object = unserialize($_SESSION['sample']);

いつものように、セッションは「session_start」関数を使用して開始され、以前に作成された、_SESSION変数に割り当てることによってシリアル化されたオブジェクトは、「unserialize」関数を使用してシリアル化されません-

<?php
$data = serialize(array("abc", "defgh", "ijkxuz"));
echo $data . "<br>";
$test = unserialize($data);
var_dump($test);
?>

出力

これにより、次の出力が生成されます-

a:3:{i:0;s:3:"abc";i:1;s:5:"defgh";i:2;s:6:"ijkxuz";}
array(3) { [0]=> string(3) "abc" [1]=> string(5) "defgh" [2]=> string(6) "ijkxuz" }

  1. PHPのget_class()関数

    get_class()関数は、オブジェクトのクラスの名前を取得します。オブジェクトがオブジェクトでない場合はFALSEを返します。クラス内でオブジェクトが除外されると、そのクラスの名前が返されます。 構文 get_class(object) パラメータ オブジェクト −テストされたオブジェクト。キャス内でこのパラメーターを回避できます。 戻る get_class()関数は、オブジェクトのクラスの名前を返します。オブジェクトがオブジェクトでない場合はFALSEを返します。クラス内でオブジェクトが除外されると、そのクラスの名前が返されます。 例 以下は例です- <?php cl

  2. PHPのget_object_vars()関数

    get_object_var()関数は、指定されたオブジェクトのプロパティを取得します。指定されたオブジェクトに対して定義されたオブジェクトプロパティの連想配列を返します。 構文 get_object_vars(object) パラメータ オブジェクト −オブジェクトインスタンス。 戻る get_object_var()関数は、指定されたオブジェクトに対して定義されたオブジェクトプロパティの連想配列を返します。プロパティに値が割り当てられていない場合は、NULL値で返されます。 例 以下は例です- <?php    class Point2D { &nb