[ Index ]

PHP Cross Reference of phpBB-3.2.11-deutsch

title

Body

[close]

/vendor/zendframework/zend-code/src/Scanner/ -> AggregateDirectoryScanner.php (source)

   1  <?php
   2  /**
   3   * Zend Framework (http://framework.zend.com/)
   4   *
   5   * @link      http://github.com/zendframework/zf2 for the canonical source repository
   6   * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
   7   * @license   http://framework.zend.com/license/new-bsd New BSD License
   8   */
   9  
  10  namespace Zend\Code\Scanner;
  11  
  12  use Zend\Code\Exception;
  13  
  14  class AggregateDirectoryScanner extends DirectoryScanner
  15  {
  16      /**
  17       * @var bool
  18       */
  19      protected $isScanned = false;
  20  
  21      /**
  22       * @param  bool $returnScannerClass
  23       * @todo not implemented
  24       */
  25      public function getNamespaces($returnScannerClass = false)
  26      {
  27          // @todo
  28      }
  29  
  30      /*
  31      public function getUses($returnScannerClass = false)
  32      {}
  33      */
  34  
  35      public function getIncludes($returnScannerClass = false)
  36      {
  37      }
  38  
  39      public function getClasses($returnScannerClass = false, $returnDerivedScannerClass = false)
  40      {
  41          $classes = array();
  42          foreach ($this->directories as $scanner) {
  43              $classes += $scanner->getClasses();
  44          }
  45          if ($returnScannerClass) {
  46              foreach ($classes as $index => $class) {
  47                  $classes[$index] = $this->getClass($class, $returnScannerClass, $returnDerivedScannerClass);
  48              }
  49          }
  50  
  51          return $classes;
  52      }
  53  
  54      /**
  55       * @param  string $class
  56       * @return bool
  57       */
  58      public function hasClass($class)
  59      {
  60          foreach ($this->directories as $scanner) {
  61              if ($scanner->hasClass($class)) {
  62                  break;
  63              } else {
  64                  unset($scanner);
  65              }
  66          }
  67  
  68          return (isset($scanner));
  69      }
  70  
  71      /**
  72       * @param  string $class
  73       * @param  bool $returnScannerClass
  74       * @param  bool $returnDerivedScannerClass
  75       * @return ClassScanner|DerivedClassScanner
  76       * @throws Exception\RuntimeException
  77       */
  78      public function getClass($class, $returnScannerClass = true, $returnDerivedScannerClass = false)
  79      {
  80          foreach ($this->directories as $scanner) {
  81              if ($scanner->hasClass($class)) {
  82                  break;
  83              } else {
  84                  unset($scanner);
  85              }
  86          }
  87  
  88          if (!isset($scanner)) {
  89              throw new Exception\RuntimeException('Class by that name was not found.');
  90          }
  91  
  92          $classScanner = $scanner->getClass($class);
  93  
  94          return new DerivedClassScanner($classScanner, $this);
  95      }
  96  
  97      /**
  98       * @param bool $returnScannerClass
  99       */
 100      public function getFunctions($returnScannerClass = false)
 101      {
 102          $this->scan();
 103  
 104          if (!$returnScannerClass) {
 105              $functions = array();
 106              foreach ($this->infos as $info) {
 107                  if ($info['type'] == 'function') {
 108                      $functions[] = $info['name'];
 109                  }
 110              }
 111  
 112              return $functions;
 113          }
 114          $scannerClass = new FunctionScanner();
 115          // @todo
 116      }
 117  }


Generated: Wed Nov 11 20:33:01 2020 Cross-referenced by PHPXref 0.7.1