Verzeichnisstruktur phpBB-3.3.15
- Veröffentlicht
- 28.08.2024
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. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
AggregateDirectoryScanner.php
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