PHP での保護されたプロパティの取得
オブジェクトを操作しているときに、保護されたプロパティにアクセスしたり、変更したりする必要がある状況が発生する場合があります。通常、このアクセスはサブクラスまたは定義クラスに制限されていますが、特定の手法を使用してこれらのプロパティを取得することも可能です。
PHP 5.2 での保護されたプロパティへのアクセス
PHP 5.2 、クラス リフレクションとプロパティ操作を組み合わせて使用して、保護されたプロパティを取得できます。方法は次のとおりです:
1.リフレクション関数を作成します:
function accessProtected($obj, $prop) { $reflection = new ReflectionClass($obj); $property = $reflection->getProperty($prop); $property->setAccessible(true); }
2.リフレクション関数を呼び出します:
$obj = new Fields_Form_Element_Location(); $value = accessProtected($obj, '_value');
setAccessible(true) を呼び出すことで、デフォルトのアクセシビリティ制限をオーバーライドし、保護されたプロパティを取得します。
追加メモ:
以上がPHP で保護されたプロパティにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。