preface
在之前的文章中,我们已经实现了一些 object handlers 来将我们的 ArrayBuffer 整合到 php 中。但是美中不足的是,我们的 ArrayBufferView 并不支持迭代器操作。也就是它不能像 php 中的数组那样使用foreach
来遍历。
那么,我们接下来就来看看迭代器在内核中是如何实现的,并且给我们的 ArrayBufferView 也增加一个迭代器。
get_iterator handler
内核中的迭代器跟用户端的IteratorAggregate
接口功能是一样的。一个具有迭代功能的类都有一个get_iterator
处理器,它会返回一个zend_object_iterator *
类...