Wykorzystujac dobrodziejstwa biblioteki SPL,zamienilem to:
<?php $pliki = scandir(PATH_TPL); foreach ($pliki as $n => $plik) { if(substr_compare($plik, 'admin_', 0, 6)==0) $wynik['admin'][$plik] = $plik; else $wynik['user'][$plik] = $plik; } } ?>
na to:
<?php class ExtensionsFilter extends FilterIterator { protected $extension = ''; public function __construct($iterator, $extension = null) { parent::__construct($iterator); $this->extension = $extension; } public function accept() { } } class NamesFilter extends FilterIterator { protected $name = ''; public function __construct($iterator, $name = null) { parent::__construct($iterator); $this->name = $name; } public function accept() { } } $ext = new ExtensionsFilter (new directoryIterator(PATH_TPL),'tpl'); $name = new NamesFilter($ext,'admin'); foreach ($name as $n) $admin_name[] = $n->getFilename(); foreach ($ext as $e) $wynik['admin'][$n->getFilename()] = $n->getFilename(); else $wynik['user'][$n->getFilename()] = $e->getFilename(); ?>
Jednak dlugosc kodu( i zapeewne czas kompilacji) nie przekonuje mnie do tej biblioteki(przynajmniej w tym wypadku)
Co sadzicie? Dalo by sie to efektywniej osiagnac, stosujac SPL?
Dzieki za odpowiedzi...