Verzeichnisstruktur phpBB-3.3.16


Veröffentlicht
27.04.2026

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

      (Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

AggregateDirectoryScanner.php

Zuletzt modifiziert: 01.05.2026, 11:27 - Dateigröße: 2.80 KiB


 001  <?php
 002  /**
 003   * Zend Framework (http://framework.zend.com/)
 004   *
 005   * @link      http://github.com/zendframework/zf2 for the canonical source repository
 006   * @copyright Copyright (c) 2005-2016 Zend Technologies USA Inc. (http://www.zend.com)
 007   * @license   http://framework.zend.com/license/new-bsd New BSD License
 008   */
 009   
 010  namespace Zend\Code\Scanner;
 011   
 012  use Zend\Code\Exception;
 013   
 014  class AggregateDirectoryScanner extends DirectoryScanner
 015  {
 016      /**
 017       * @var bool
 018       */
 019      protected $isScanned = false;
 020   
 021      /**
 022       * @param  bool $returnScannerClass
 023       * @todo not implemented
 024       */
 025      public function getNamespaces($returnScannerClass = false)
 026      {
 027          // @todo
 028      }
 029   
 030      public function getIncludes($returnScannerClass = false)
 031      {
 032      }
 033   
 034      public function getClasses($returnScannerClass = false, $returnDerivedScannerClass = false)
 035      {
 036          $classes = [];
 037          foreach ($this->directories as $scanner) {
 038              $classes += $scanner->getClasses();
 039          }
 040          if ($returnScannerClass) {
 041              foreach ($classes as $index => $class) {
 042                  $classes[$index] = $this->getClass($class, $returnScannerClass, $returnDerivedScannerClass);
 043              }
 044          }
 045   
 046          return $classes;
 047      }
 048   
 049      /**
 050       * @param  string $class
 051       * @return bool
 052       */
 053      public function hasClass($class)
 054      {
 055          foreach ($this->directories as $scanner) {
 056              if ($scanner->hasClass($class)) {
 057                  break;
 058              } else {
 059                  unset($scanner);
 060              }
 061          }
 062   
 063          return isset($scanner);
 064      }
 065   
 066      /**
 067       * @param  string $class
 068       * @param  bool $returnScannerClass
 069       * @param  bool $returnDerivedScannerClass
 070       * @return ClassScanner|DerivedClassScanner
 071       * @throws Exception\RuntimeException
 072       */
 073      public function getClass($class, $returnScannerClass = true, $returnDerivedScannerClass = false)
 074      {
 075          foreach ($this->directories as $scanner) {
 076              if ($scanner->hasClass($class)) {
 077                  break;
 078              } else {
 079                  unset($scanner);
 080              }
 081          }
 082   
 083          if (! isset($scanner)) {
 084              throw new Exception\RuntimeException('Class by that name was not found.');
 085          }
 086   
 087          $classScanner = $scanner->getClass($class);
 088   
 089          return new DerivedClassScanner($classScanner, $this);
 090      }
 091   
 092      /**
 093       * @param bool $returnScannerClass
 094       */
 095      public function getFunctions($returnScannerClass = false)
 096      {
 097          $this->scan();
 098   
 099          if (! $returnScannerClass) {
 100              $functions = [];
 101              foreach ($this->infos as $info) {
 102                  if ($info['type'] == 'function') {
 103                      $functions[] = $info['name'];
 104                  }
 105              }
 106   
 107              return $functions;
 108          }
 109          $scannerClass = new FunctionScanner();
 110          // @todo
 111      }
 112  }
 113