PHPクラスのさまざまなインターセプターの使用分析、PHPクラスインターセプトの使用法
この記事の例では、PHP クラスでのさまざまなインターセプターの使用法について説明します。参考のためにみんなで共有してください。具体的な使用状況の分析は次のとおりです:
1. 未定義のプロパティにアクセスするときに __get( $property ) が呼び出されます
コードをコピーします コードは次のとおりです:
class lanjie
{
関数 __get($name)
{
echo $name." プロパティが見つかりません! ";
}
}
$ob = 新しいランジェ();
エコー $ob->g;
オブジェクト $ob の未定義のプロパティ g を呼び出すと、インターセプター __get() メソッドが呼び出され、「g プロパティが見つかりません!」と出力されます。
2. __set( $property , $value ) は、未定義のプロパティを呼び出すときに値を割り当てます
コードをコピーします
コードは次のとおりです:クラスの人
{
プライベート $_年齢
プライベート $_name
関数 __set($name, $value)
{
$method = "セット"
エコー $メソッド
If(method_exists($this, $method) )
return $this->$method( $value );
}
関数 setName( $name )
{
$this->_name = $name;
if( !is_null($this->_name) )
$this->_name = strtoupper($this->_name);
}
関数 setAge( $age )
{
return $this->_age = (int)$age;
}
}
$p = 新しい人 ();
$p->名前 = 'ボブ';
print_r( array( $p ) );
ここでは、未定義の 'name' に値を割り当てるときに、「__set()」が呼び出されることが明確にわかります
その他には、__call()、__isset()、__unset();
ここで最も便利で一般的に使用されるものは、既存のメソッドを呼び出すときに呼び出される __call() 、未定義の属性で isset() 関数を使用するときに呼び出される __isset() 、およびメソッドを呼び出すときに呼び出される __unset です。未定義の属性は、unset
を使用するときに呼び出されます。
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
PHPインターセプターの実装
いくつかの $_SERVER 変数
$url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo $url;
これら 2 つがあなたが望むものです。
インターセプターには変数を一括して処理したり保存したりできる機能がありますが、パブリック属性を多用するとオブジェクト指向の思考が失われます
。
http://www.bkjia.com/PHPjc/904926.html
技術記事
PHP クラスでのさまざまなインターセプターの使用法の分析、PHP クラスのインターセプトの使用法 この記事では、PHP クラスでのさまざまなインターセプターの使用法を例とともに説明します。参考のためにみんなで共有してください。具体的な使用状況の分析は次のとおりです。 1....