ホームページ >バックエンド開発 >PHPチュートリアル >PHP 定義済みインターフェイス_PHP チュートリアル

PHP 定義済みインターフェイス_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:45:38794ブラウズ

PHP 定義済みインターフェース

導入
PHP には非常に便利な事前定義されたインターフェイスがいくつかあります
IteratorAggregate (集約集約反復子イテレーター)
IteratorAggregate は Traversable を拡張します {
抽象パブリック Traversable getIterator(void)
}
このインターフェイスは関数を実装します - 外部イテレーターの作成 具体的にはどうすればよいでしょうか? foreach を使用してオブジェクトを走査する場合、IteratorAggregate インターフェイスを継承しない場合、オブジェクト内のすべてのパブリック プロパティを走査することになります ( public $var このフォーム)。 IteratorAggregate を継承する場合、クラスに実装された getIterator メソッドによって返されるオブジェクトが使用されます。返されるオブジェクトは Traversable オブジェクトまたは Traversable から拡張されたオブジェクトでなければならないことに注意してください。そうでない場合は例外がスローされます
リーリー

このインターフェイスはオブジェクトの数をカウントするために使用されます。具体的にはどうすればよいでしょうか? オブジェクトに対して count を呼び出すと、関数が Countable を継承していない場合は常に 1 を返します。Countable を継承している場合は数値を返します。実装された count メソッドによって返される、以下の例を見てください:
リーリー

このインターフェースの機能は、配列などのオブジェクトにアクセスできるようにすることです。実際には、PHP が字句解析中にオブジェクトを使用するときに配列に遭遇すると、そのオブジェクトに戻って検索するということだと思います。 ArrayAccess が実装されているかどうかを確認します。実装されている場合は、対応する操作 (set、unset、isset、get) を実行して、クラスに配列を配置し、クラスに配列の基本操作を実装させます。 :
リーリー

内部的に独自の外部イテレータやクラスインターフェースを反復することができます。 これは公式ドキュメントによる説明ですが、実際には、このインターフェースで実装されている機能は traratorAggregate の機能と似ていると感じます。 : 外部イテレータ インターフェイスを作成します。インターフェイスはイテレータを直接返します) と似ていますが、これはクラス定義に実装されています:
リーリー

上記は、テスト問題 (反復モード) に関する Niao 兄弟の記事への参照ですが、Niao 兄弟の有効の判断には少し欠陥があり、偽の値に遭遇した場合、切り捨てられます。

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

tru​​ehttp://www.bkjia.com/PHPjc/1039604.html技術記事 PHP 定義済みインターフェイスの概要 PHP にはいくつかの定義済みインターフェイスがあり、非常に便利な IteratorAggregate (集約反復反復子 Iterator) IteratorAggregate extends Traversable...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。