2019-06-25 PHP 迭代器模式 目录 说明Iterator接口实例 说明在不需要了解内部实现的前提下,遍历一个聚合对象的内部元素。需要继承迭代器接口。 Iterator接口123456789101112Iterator extends Traversable { // 返回当前元素 abstract public current ( ) : mixed // 返回当前元素的键 abstract public key ( ) : scalar // 向前移动到下一个元素 abstract public next ( ) : void // 返回到迭代器的第一个元素 abstract public rewind ( ) : void // 检查当前位置是否有效 abstract public valid ( ) : bool} 实例12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849<?phpclass User implements Iterator{ public $ids; public $index; function __construct() { $this->ids = [ ['id'=>111], ['id'=>112], ['id'=>113] ]; } function current() { $id = $this->ids[$this->index]['id']; return $id; } function key() { return $this->index; } function next() { $this->index++; } function rewind() { $this->index = 0; } function valid() { return $this->index < count($this->ids); }}$users = new User();foreach ($users as $key => $value) { echo $value."<br>";} Newer PHP观察者模式 Older CentOS 7使用Fail2ban+firewalld来阻止恶意IP访问