PHP クラスでのさまざまなインターセプターの使用状況分析、PHP クラス インターセプトの使用法_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:15:24
オリジナル
860 人が閲覧しました

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 です。未定義の属性は、u​​nset
を使用するときに呼び出されます。
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。




PHPインターセプターの実装


いくつかの $_SERVER 変数

$url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

echo $url;

これら 2 つがあなたが望むものです。

phpでのインターセプタとパブリック属性の使用の違いは何ですか

インターセプターには変数を一括して処理したり保存したりできる機能がありますが、パブリック属性を多用するとオブジェクト指向の思考が失われます



http://www.bkjia.com/PHPjc/904926.html

www.bkjia.com

tru​​e
http://www.bkjia.com/PHPjc/904926.html

技術記事
PHP クラスでのさまざまなインターセプターの使用法の分析、PHP クラスのインターセプトの使用法 この記事では、PHP クラスでのさまざまなインターセプターの使用法を例とともに説明します。参考のためにみんなで共有してください。具体的な使用状況の分析は次のとおりです。 1....

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート