for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* This file is part of the FOSRestBundle package.
*
* (c) FriendsOfSymfony <http://friendsofsymfony.github.com/>
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace FOS\RestBundle\Routing\Loader;
/**
* @internal
* @deprecated
class ClassUtils
{
public static function findClassInFile(string $file): ?string
$class = false;
$namespace = false;
$tokens = token_get_all(file_get_contents($file));
if (defined('T_NAME_QUALIFIED')) {
$namespaceToken = T_NAME_QUALIFIED;
} else {
$namespaceToken = T_STRING;
}
for ($i = 0, $count = count($tokens); $i < $count; ++$i) {
$token = $tokens[$i];
if (!is_array($token)) {
continue;
if (true === $class && T_STRING === $token[0]) {
return $namespace.'\\'.$token[1];
if (true === $namespace && $namespaceToken === $token[0]) {
$namespace = '';
do {
$namespace .= $token[1];
$token = $tokens[++$i];
} while ($i < $count && is_array($token) && in_array($token[0], [T_NS_SEPARATOR, $namespaceToken]));
if (T_CLASS === $token[0]) {
$class = true;
if (T_NAMESPACE === $token[0]) {
$namespace = true;
return null;