src/PeekAndPoke/Aviator/AppBuilder/Util.php
public static function getFqcnFromPhpCode(string $code) : ?string
    {
        try {
            $tokens    = token_get_all($code);
            $namespace = '';

            for ($index = 0; isset($tokens[$index]); $index++) {

                if (! isset($tokens[$index][0])) {
                    continue;
                }

                if (T_NAMESPACE === $tokens[$index][0]) {
                    $index += 2; // Skip namespace keyword and whitespace
                    while (isset($tokens[$index]) && is_array($tokens[$index])) {
                        $namespace .= $tokens[$index++][1];
                    }
                }

                // is it a class ?
                if (T_CLASS === $tokens[$index][0] && count($tokens[$index + 2]) > 1) {
                    $index += 2; // Skip class keyword and whitespace

                    $fqcn = $namespace . '\\' . $tokens[$index][1];

                    return $fqcn;
//
//                    if (class_exists($fqcn)) {
//                        return $fqcn;
//                    }
                }

                // is it an interface ?
                if (T_INTERFACE === $tokens[$index][0] && count($tokens[$index + 2]) > 1) {
                    $index += 2; // Skip class keyword and whitespace

                    $fqcn = $namespace . '\\' . $tokens[$index][1];

                    return $fqcn;
//
//                    if (interface_exists($fqcn)) {
//                        return $fqcn;
//                    }
                }
            }
        } catch (\Exception $e) {
            // ... so what ?
        }

        return null;
    }
public static function getFqcnFromPhpCode(string $code) : ?string
    {
        try {
            $tokens    = token_get_all($code);
            $namespace = '';

            for ($index = 0; isset($tokens[$index]); $index++) {

                if (! isset($tokens[$index][0])) {
                    continue;
                }

                if (T_NAMESPACE === $tokens[$index][0]) {
                    $index += 2; // Skip namespace keyword and whitespace
                    while (isset($tokens[$index]) && is_array($tokens[$index])) {
                        $namespace .= $tokens[$index++][1];
                    }
                }

                // is it a class ?
                if (T_CLASS === $tokens[$index][0] && count($tokens[$index + 2]) > 1) {
                    $index += 2; // Skip class keyword and whitespace

                    $fqcn = $namespace . '\\' . $tokens[$index][1];

                    return $fqcn;
//
//                    if (class_exists($fqcn)) {
//                        return $fqcn;
//                    }
                }

                // is it an interface ?
                if (T_INTERFACE === $tokens[$index][0] && count($tokens[$index + 2]) > 1) {
                    $index += 2; // Skip class keyword and whitespace

                    $fqcn = $namespace . '\\' . $tokens[$index][1];

                    return $fqcn;
//
//                    if (interface_exists($fqcn)) {
//                        return $fqcn;
//                    }
                }
            }
        } catch (\Exception $e) {
            // ... so what ?
        }

        return null;
    }
public static function getFqcnFromPhpCode ( string $ code ) : ? string { try { $ tokens = token_get_all ( $ code ) ; $ namespace = '' ; for ( $ index = 0 ; isset ( $ tokens [ $ index ] ) ; $ index ++ ) { if ( ! isset ( $ tokens [ $ index ] [ 0 ] ) ) { continue ; } if ( T_NAMESPACE === $ tokens [ $ index ] [ 0 ] ) { $ index += 2 ; // Skip namespace keyword and whitespace while ( isset ( $ tokens [ $ index ] ) && is_array ( $ tokens [ $ index ] ) ) { $ namespace .= $ tokens [ $ index ++ ] [ 1 ] ; } } // is it a class ? if ( T_CLASS === $ tokens [ $ index ] [ 0 ] && count ( $ tokens [ $ index + 2 ] ) > 1 ) { $ index += 2 ; // Skip class keyword and whitespace $ fqcn = $ namespace . '\\' . $ tokens [ $ index ] [ 1 ] ; return $ fqcn ; // //                    if (class_exists($fqcn)) { //                        return $fqcn; //                    } } // is it an interface ? if ( T_INTERFACE === $ tokens [ $ index ] [ 0 ] && count ( $ tokens [ $ index + 2 ] ) > 1 ) { $ index += 2 ; // Skip class keyword and whitespace $ fqcn = $ namespace . '\\' . $ tokens [ $ index ] [ 1 ] ; return $ fqcn ; // //                    if (interface_exists($fqcn)) { //                        return $fqcn; //                    } } } } catch ( \ Exception $ e ) { // ... so what ? } return null ; }
@param string $code

@return null|string
@param string $code