extension_manager = $extension_manager; } /** * Finds template paths using the extension manager. * * @return array List of task names */ abstract protected function find(); /** * Retrieve an iterator over all items * * @return ArrayIterator An iterator for the array of template paths */ public function getIterator() { if ($this->items === null) { $this->items = $this->find(); } return new ArrayIterator($this->items); } }