>백엔드 개발 >PHP 튜토리얼 >PHP 디자인 패턴의 반복자 패턴에 대한 자세한 설명

PHP 디자인 패턴의 반복자 패턴에 대한 자세한 설명

韦小宝
韦小宝원래의
2017-11-15 10:36:411906검색

Iterator 패턴내부를 알지 못한 채 집계 객체의 내부 요소를 순회합니다. 기존 프로그래밍 패턴과 비교할 때 Iterator 패턴은 순회 요소의 모든 작업을 숨길 수 있습니다.

PHP 디자인 패턴의 반복자 패턴에 대한 자세한 설명

<?php

/*
 * 迭代器模式
 */
class All implements \Iterator
{
    protected $ids;
    protected $index;

    public function __construct($data)
    {
        $this->ids = $data;
    }

    public function current() //获取当前的元素
    {
        return $this->ids[$this->index];
    }

    public function next() //获取下一个元素
    {
        $this->index++;
    }

    public function valid() //验证当下是否还有下一个元素
    {
        return $this->index < count($this->ids);
    }

    public function rewind() //重置迭代器指针
    {
        $this->index = 0;
    }

    public function key() //迭代器指针的位置
    {
        return $this->index;
    }
}

$arr = [&#39;1&#39;, &#39;2&#39;, &#39;4&#39;]; //客户端
$users = new All($arr);
foreach ($users as $user) {
    var_dump($user);
}

Iterator 패턴은 매우 자주 사용되는 디자인 패턴입니다. . 반복자를 도입하면 데이터 순회 기능을 집계 개체에서 분리할 수 있습니다. 집계 개체는 데이터 저장만 담당하고, 데이터 순회는 반복자에 의해 완료됩니다. PHP 이터레이터 패턴

PHP 변수 참조 PHP 이터레이터 패턴(SPL 구현 참고)

php 디자인 패턴 옵저버 패턴 상세 설명

위 내용은 PHP 디자인 패턴의 반복자 패턴에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.