Overview

Namespaces

  • Pharborist
    • Constants
    • ControlStructures
    • Exceptions
    • Functions
    • Generators
    • Namespaces
    • Objects
    • Operators
    • Types
    • Variables

Classes

  • Pharborist\Variables\CompoundVariableNode
  • Pharborist\Variables\GlobalStatementNode
  • Pharborist\Variables\ReferenceVariableNode
  • Pharborist\Variables\StaticVariableNode
  • Pharborist\Variables\StaticVariableStatementNode
  • Pharborist\Variables\VariableNode
  • Pharborist\Variables\VariableVariableNode

Interfaces

  • Pharborist\Variables\VariableExpressionNode
  • Overview
  • Namespace
  • Class
 1: <?php
 2: namespace Pharborist;
 3: 
 4: class SourceDiscovery {
 5:   /**
 6:    * @var string[]
 7:    */
 8:   protected $extensions;
 9: 
10:   /**
11:    * @var callback
12:    */
13:   protected $callback;
14: 
15:   public function __construct($callback, $extensions = ['php']) {
16:     $this->callback = $callback;
17:     $this->extensions = $extensions;
18:   }
19: 
20:   public function scanDirectory($directory) {
21:     $directory_iterator = new \RecursiveDirectoryIterator($directory);
22:     $iterator = new \RecursiveIteratorIterator($directory_iterator);
23:     $pattern = '/^.+\.(' . implode('|', $this->extensions) . ')$/i';
24:     $regex = new \RegexIterator($iterator, $pattern, \RecursiveRegexIterator::GET_MATCH);
25:     $callback = $this->callback;
26:     foreach ($regex as $name => $object) {
27:       $callback($name);
28:     }
29:   }
30: }
31: 
Pharborist API documentation generated by ApiGen