Ejemplo n.º 1
0
 function accept()
 {
     @preg_match_all($this->re, (string) ($this->uk ? $this->key() : $this->current()), $sub);
     $ret = parent::accept();
     var_dump($sub == $this->current());
     return $ret;
 }
Ejemplo n.º 2
0
 public function accept()
 {
     return $this->hasChildren() || parent::accept();
 }
Ejemplo n.º 3
0
 /**
  * Return all template files of a particular group as array
  *
  * @param string
  * @param integer
  *
  * @return array
  * @throws Exception
  */
 public static function getTemplateGroupInFolders($prefix, $folders)
 {
     $templates = array();
     // Find all matching templates
     foreach ($folders as $sourceName => $folder) {
         $iterator = new RecursiveDirectoryIterator($folder, RecursiveDirectoryIterator::SKIP_DOTS | RecursiveDirectoryIterator::UNIX_PATHS);
         $iterator = new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::LEAVES_ONLY);
         $iterator = new RegexIterator($iterator, '~(^|/)' . preg_quote($prefix, '~') . '.*\\.twig$~i');
         /** @var RecursiveDirectoryIterator|RecursiveIteratorIterator|RegexIterator $iterator */
         $iterator->next();
         while ($iterator->accept()) {
             $templateName = $iterator->getSubPathname();
             $templateName = preg_replace('#\\.[^\\.]+\\.twig$#', '', $templateName);
             $templates[$sourceName][$templateName] = $templateName;
             uksort($templates[$sourceName], 'strnatcasecmp');
             $iterator->next();
         }
     }
     uksort($templates, 'strnatcasecmp');
     return $templates;
 }
Ejemplo n.º 4
0
<?php

$x = new RegexIterator(new ArrayIterator(range(1, 10)), '/\\d/');
var_dump($x->accept());
Ejemplo n.º 5
0
 public function accept()
 {
     return !parent::accept();
 }