Path: blob/master/src/applications/diffusion/symbol/DiffusionPhpExternalSymbolsSource.php
13409 views
<?php12final class DiffusionPhpExternalSymbolsSource3extends DiffusionExternalSymbolsSource {45public function executeQuery(DiffusionExternalSymbolQuery $query) {6$symbols = array();78if (!$query->matchesAnyLanguage(array('php'))) {9return $symbols;10}1112$names = $query->getNames();1314if ($query->matchesAnyType(array('function'))) {15$functions = get_defined_functions();16$functions = $functions['internal'];1718foreach ($names as $name) {19if (in_array($name, $functions)) {20$symbols[] = $this->buildExternalSymbol()21->setSymbolName($name)22->setSymbolType('function')23->setSource(pht('PHP'))24->setLocation(pht('Manual at php.net'))25->setSymbolLanguage('php')26->setExternalURI('http://www.php.net/function.'.$name);27}28}29}30if ($query->matchesAnyType(array('class'))) {31foreach ($names as $name) {32if (class_exists($name, false) || interface_exists($name, false)) {33if (id(new ReflectionClass($name))->isInternal()) {34$symbols[] = $this->buildExternalSymbol()35->setSymbolName($name)36->setSymbolType('class')37->setSource(pht('PHP'))38->setLocation(pht('Manual at php.net'))39->setSymbolLanguage('php')40->setExternalURI('http://www.php.net/class.'.$name);41}42}43}44}4546return $symbols;47}48}495051