オブジェクト
オブジェクトの初期化
オブジェクトを初期化するには、new ステートメントを使用してオブジェクトを変数にインスタンス化します。
<?phpclass foo{ function do_foo() { echo "Doing foo."; }}$bar = new foo;$bar->do_foo();?> ログイン後にコピー |
オブジェクトに変換
オブジェクトをオブジェクトに変換しても、何も変わりません。他の型の値がオブジェクトに変換される場合、組み込みクラス stdClass のインスタンスが作成されます。値が NULL の場合、新しいインスタンスは空です。他の値の場合は、scalar という名前のメンバー変数に値が含まれます。
<?php$obj = (object) 'ciao';echo $obj->scalar; // outputs 'ciao'?> ログイン後にコピー |
リソース
リソースは、外部リソースへの参照を保持する特別な変数です。リソースは、特殊な機能を通じて作成および使用されます。これらすべての関数とそれに対応するリソース タイプは、付録に記載されています。
注: リソースタイプは PHP 4 で導入されました。
リソースに変換
リソースタイプの変数は、ファイル、データベース接続、グラフィックキャンバス領域などを開くための特別なハンドルを保持しているため、他のタイプの値をリソースに変換することはできません。
リソースを解放する
PHP4 Zend エンジンにはリソースカウントシステムが導入されているため、(Java と同様に) リソースが参照されなくなったことを自動的に検出できます。この場合、このリソースによって使用されているすべての外部リソースは、ガベージ コレクション システムによって解放されます。このため、結果解放関数を使用して手動でメモリを解放する必要がほとんどありません。
注: 永続的なデータベース接続は特別であり、ガベージ コレクション システムによって破棄されません。