PHP カーネルがモジュールの初期化操作を実行すると、この関数が自動的にロードされ、stdClass クラスの登録操作も実行されます。 stdClass クラスは、メンバー変数やメンバー メソッドを持たないクラスです。 すべての マジック メソッド、親クラス、インターフェイスなどは、初期化中に NULL に設定されます。 PHP ではメソッドをクラスに動的に追加できないため、このクラスは動的 属性 を処理するためにのみ使用できますが、これも一般的な使用法です。したがって、次のメソッドは set インターセプターをトリガーしません
コードは次のとおりです:$user = new stdClass(); $user->name = 'gouki';
stdClass を検索してみると、マニュアルにはほとんど紹介がないことがわかりますが、再度 Google で検索すると、ほぼすべて英語の説明が表示されます。
実際、stdClass が普及したのは PHP5 になってからです。 stdClass も zend の予約クラスです。それ以外の効果はないようです。こちらもほとんど説明がありません。 または、次のように理解することもできます。stdClass は PHP の基本クラスです。ほとんどすべてのクラスがこのクラスを継承するため、いつでも新しいクラスになる可能性があり、この変数は
オブジェクト
になる可能性があります。同時に、この基本クラスにはメソッドが存在しないという特別な機能があります。 new stdClass() の変数を使用する場合、 $a->test() を使用することはできません。 または、PHP5 の オブジェクト の一意性により、オブジェクトは呼び出されるたびに参照アドレス型になるため、消費するリソースが少なくなるということで、このように理解することもできます。
他の
ページで値を割り当てると、コピーを参照するのではなく、直接変更されます。 例: コードは次のとおりです:
$user = new stdClass(); $user->name = 'gouki'; $myUser = $user; $myUser->name = 'flypig';
これによりコピーが作成されます。したがって、PHP4 では、次のように使用されます:
コードは次のとおりです:
$myUser = & $user;
ただし、標準クラスには関数 arrayobject もあります。配列を直接オブジェクトに変換できるSPLのライブラリも良いですね。
以上がPHPでのstdClassクラスの用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。