diff options
author | Nils Adermann <naderman@naderman.de> | 2011-08-31 17:49:48 -0400 |
---|---|---|
committer | Nils Adermann <naderman@naderman.de> | 2011-09-29 16:15:53 +0200 |
commit | 520a5f92953d350880355dbe46217d2b41edd2bd (patch) | |
tree | d0658eaf062ea332dd9be2a94ef5cb010fb35fd7 /phpBB/includes/extension | |
parent | 52f5fa796f473e11a101b4da91e455bdc4839daf (diff) | |
download | forums-520a5f92953d350880355dbe46217d2b41edd2bd.tar forums-520a5f92953d350880355dbe46217d2b41edd2bd.tar.gz forums-520a5f92953d350880355dbe46217d2b41edd2bd.tar.bz2 forums-520a5f92953d350880355dbe46217d2b41edd2bd.tar.xz forums-520a5f92953d350880355dbe46217d2b41edd2bd.zip |
[feature/extension-manager] Refactoring the structure of extension provider
PHPBB3-10323
Diffstat (limited to 'phpBB/includes/extension')
-rw-r--r-- | phpBB/includes/extension/provider.php | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/phpBB/includes/extension/provider.php b/phpBB/includes/extension/provider.php index 9b5ec56d30..3939c2ef07 100644 --- a/phpBB/includes/extension/provider.php +++ b/phpBB/includes/extension/provider.php @@ -24,9 +24,9 @@ abstract class phpbb_extension_provider implements IteratorAggregate { /** * Array holding all found items - * @var array + * @var array|null */ - protected $items = array(); + protected $items = null; /** * An extension manager to search for items in extensions @@ -42,8 +42,6 @@ abstract class phpbb_extension_provider implements IteratorAggregate public function __construct(phpbb_extension_manager $extension_manager) { $this->extension_manager = $extension_manager; - - $this->items = $this->find(); } /** @@ -51,7 +49,7 @@ abstract class phpbb_extension_provider implements IteratorAggregate * * @return array List of task names */ - abstract function find(); + abstract protected function find(); /** * Retrieve an iterator over all items @@ -60,6 +58,11 @@ abstract class phpbb_extension_provider implements IteratorAggregate */ public function getIterator() { + if ($this->items === null) + { + $this->items = $this->find(); + } + return new ArrayIterator($this->items); } } |