Exemplo n.º 1
0
 /**
  * @return static|null
  */
 public static function fromName($name, Language $lang = null, Project $proj = null)
 {
     $result = null;
     $name = \trim($name);
     if ('' !== $name) {
         $result = new static();
         $result->_name = $name;
         if (\interface_exists($name) || \trait_exists($name) || \class_exists($name)) {
             $result->_reflector = new \ReflectionClass($name);
             if (!$result->_reflector->isUserDefined()) {
                 // PHP type
                 $phpLang = 'en';
                 if (null !== $lang) {
                     $phpLang = $lang->id();
                 }
                 $result->_link = \sprintf('http://php.net/manual/%s/class.%s.php', $phpLang, \trim(\strtolower(\str_ireplace("\\", '.', $result->_reflector->getName()))));
             } else {
                 if (null !== $proj) {
                     foreach ($proj->classes() as $cls) {
                         if ($cls->reflector()->getName() === $result->_reflector->getName()) {
                             $result->_link = $cls->getDocumentFilename($lang);
                         }
                     }
                 }
             }
         } else {
             switch ($name) {
                 case 'callable':
                     $result->_link = 'https://github.com/mkloubert/phpLINQ/wiki/Callable';
                     break;
             }
         }
     } else {
         $result = null;
     }
     return $result;
 }
Exemplo n.º 2
0
 public function getDocumentFilename(Language $lang = null)
 {
     $className = $this->class_()->reflector()->getName();
     $className = \str_ireplace("\\", '.', $className);
     $methodName = $this->reflector()->getName();
     return \sprintf('method.%s.%s.%s.html', $lang->id(), $className, $methodName);
 }
Exemplo n.º 3
0
 public function getDocumentFilename(Language $lang = null)
 {
     return \sprintf('index.%s.html', $lang->id());
 }