framework/web/ErrorHandler.php
public function addTypeLinks($code)
    {
        if (preg_match('/(.*?)::([^(]+)/', $code, $matches)) {
            $class = $matches[1];
            $method = $matches[2];
            $text = $this->htmlEncode($class) . '::' . $this->htmlEncode($method);
        } else {
            $class = $code;
            $method = null;
            $text = $this->htmlEncode($class);
        }

        $url = null;

        $shouldGenerateLink = true;
        if ($method !== null && substr_compare($method, '{closure}', -9) !== 0) {
            $reflection = new \ReflectionClass($class);
            if ($reflection->hasMethod($method)) {
                $reflectionMethod = $reflection->getMethod($method);
                $shouldGenerateLink = $reflectionMethod->isPublic() || $reflectionMethod->isProtected();
            } else {
                $shouldGenerateLink = false;
            }
        }

        if ($shouldGenerateLink) {
            $url = $this->getTypeUrl($class, $method);
        }

        if ($url === null) {
            return $text;
        }

        return '<a href="' . $url . '" target="_blank">' . $text . '</a>';
    }
public function addTypeLinks($code)
    {
        if (preg_match('/(.*?)::([^(]+)/', $code, $matches)) {
            $class = $matches[1];
            $method = $matches[2];
            $text = $this->htmlEncode($class) . '::' . $this->htmlEncode($method);
        } else {
            $class = $code;
            $method = null;
            $text = $this->htmlEncode($class);
        }

        $url = null;

        $shouldGenerateLink = true;
        if ($method !== null && substr_compare($method, '{closure}', -9) !== 0) {
            $reflection = new \ReflectionClass($class);
            if ($reflection->hasMethod($method)) {
                $reflectionMethod = $reflection->getMethod($method);
                $shouldGenerateLink = $reflectionMethod->isPublic() || $reflectionMethod->isProtected();
            } else {
                $shouldGenerateLink = false;
            }
        }

        if ($shouldGenerateLink) {
            $url = $this->getTypeUrl($class, $method);
        }

        if ($url === null) {
            return $text;
        }

        return '<a href="' . $url . '" target="_blank">' . $text . '</a>';
    }
public function addTypeLinks ( $ code ) { if ( preg_match ( '/(.*?)::([^(]+)/' , $ code , $ matches ) ) { $ class = $ matches [ 1 ] ; $ method = $ matches [ 2 ] ; $ text = $ this -> htmlEncode ( $ class ) . '::' . $ this -> htmlEncode ( $ method ) ; } else { $ class = $ code ; $ method = null ; $ text = $ this -> htmlEncode ( $ class ) ; } $ url = null ; $ shouldGenerateLink = true ; if ( $ method !== null && substr_compare ( $ method , '{closure}' , - 9 ) !== 0 ) { $ reflection = new \ ReflectionClass ( $ class ) ; if ( $ reflection -> hasMethod ( $ method ) ) { $ reflectionMethod = $ reflection -> getMethod ( $ method ) ; $ shouldGenerateLink = $ reflectionMethod -> isPublic ( ) || $ reflectionMethod -> isProtected ( ) ; } else { $ shouldGenerateLink = false ; } } if ( $ shouldGenerateLink ) { $ url = $ this -> getTypeUrl ( $ class , $ method ) ; } if ( $ url === null ) { return $ text ; } return '<a href="' . $ url . '" target="_blank">' . $ text . '</a>' ; }
Adds informational links to the given PHP type/class.
@param string $code type/class name to be linkified.
@return string linkified with HTML type/class name.
Adds informational links to the given PHP type / class .