私はIteratorIteratorクラスが実際に何をしているのか頭を上げることはできません。私はクラスがTraversableを実装できることを理解しているので、エンジンはforeachを使ってループすることができると知っていますと IteratorIteratorはTraversableなものをIteratorに変換するはずですが、PHP IteratorIteratorクラスはどのように機能しますか?
たとえば、PDOStatementクラスを取ります。どのように標準イテレータメソッド(次、キー、巻き戻しなど)を実装して、PDOStatementに対する反復を可能にしますか?
申し訳ありません私の質問が不明な場合、私はこのクラスの正確な理由を把握するのに苦労しており、そのドキュメントはほとんどありません。
おかげで、
ウィル
更新:PHPTファイルを通って行く、私が使用しています一つのテストを発見したIteratorIterator:
は<?php
$root = simplexml_load_string('<?xml version="1.0"?>
<root>
<child>Hello</child>
<child>World</child>
</root>
');
foreach (new IteratorIterator($root->child) as $child) {
echo $child."\n";
}
?>
予想される出力は次のようになります。
Hello
World
私はIteratorIteratorのコンストラクトが$ root-> childをどのように取るかを実際には追いつかない引数とそれが子要素を反復処理する方法。私は例#2 hereはかなりまっすぐ進むと思っ
[こちら](http://blog.ircmaxell.com/2011/10/iteratoriterator-php-inconsistencies.html)の回答が見つかりました。 しかし、IteratorIteratorは今や重要ではないようですね。 – akond