Verzeichnisstruktur phpBB-3.2.0
- Veröffentlicht
- 06.01.2017
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-2015 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 /*
031 public function getUses($returnScannerClass = false)
032 {}
033 */
034
035 public function getIncludes($returnScannerClass = false)
036 {
037 }
038
039 public function getClasses($returnScannerClass = false, $returnDerivedScannerClass = false)
040 {
041 $classes = array();
042 foreach ($this->directories as $scanner) {
043 $classes += $scanner->getClasses();
044 }
045 if ($returnScannerClass) {
046 foreach ($classes as $index => $class) {
047 $classes[$index] = $this->getClass($class, $returnScannerClass, $returnDerivedScannerClass);
048 }
049 }
050
051 return $classes;
052 }
053
054 /**
055 * @param string $class
056 * @return bool
057 */
058 public function hasClass($class)
059 {
060 foreach ($this->directories as $scanner) {
061 if ($scanner->hasClass($class)) {
062 break;
063 } else {
064 unset($scanner);
065 }
066 }
067
068 return (isset($scanner));
069 }
070
071 /**
072 * @param string $class
073 * @param bool $returnScannerClass
074 * @param bool $returnDerivedScannerClass
075 * @return ClassScanner|DerivedClassScanner
076 * @throws Exception\RuntimeException
077 */
078 public function getClass($class, $returnScannerClass = true, $returnDerivedScannerClass = false)
079 {
080 foreach ($this->directories as $scanner) {
081 if ($scanner->hasClass($class)) {
082 break;
083 } else {
084 unset($scanner);
085 }
086 }
087
088 if (!isset($scanner)) {
089 throw new Exception\RuntimeException('Class by that name was not found.');
090 }
091
092 $classScanner = $scanner->getClass($class);
093
094 return new DerivedClassScanner($classScanner, $this);
095 }
096
097 /**
098 * @param bool $returnScannerClass
099 */
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 }
118