public function getClassname(string $file) : string
	{
		$php        = file_get_contents($file);
		$tokens     = token_get_all($php);
		$count      = count($tokens);
		$dlm        = false;
		$namespace  = '';
		$class_name = '';

		for ($i = 2; $i < $count; $i++)
		{
			if ((isset($tokens[$i - 2][1]) && ($tokens[$i - 2][1] === 'phpnamespace' || $tokens[$i - 2][1] === 'namespace')) || ($dlm && $tokens[$i - 1][0] === T_NS_SEPARATOR && $tokens[$i][0] === T_STRING))
			{
				if (! $dlm)
				{
					$namespace = 0;
				}
				if (isset($tokens[$i][1]))
				{
					$namespace = $namespace ? $namespace . '\\' . $tokens[$i][1] : $tokens[$i][1];
					$dlm       = true;
				}
			}
			elseif ($dlm && ($tokens[$i][0] !== T_NS_SEPARATOR) && ($tokens[$i][0] !== T_STRING))
			{
				$dlm = false;
			}
			if (($tokens[$i - 2][0] === T_CLASS || (isset($tokens[$i - 2][1]) && $tokens[$i - 2][1] === 'phpclass'))
				&& $tokens[$i - 1][0] === T_WHITESPACE
				&& $tokens[$i][0] === T_STRING)
			{
				$class_name = $tokens[$i][1];
				break;
			}
		}

		if (empty( $class_name ))
		{
			return '';
		}

		return $namespace . '\\' . $class_name;
	}
public function getClassname(string $file) : string
	{
		$php        = file_get_contents($file);
		$tokens     = token_get_all($php);
		$count      = count($tokens);
		$dlm        = false;
		$namespace  = '';
		$class_name = '';

		for ($i = 2; $i < $count; $i++)
		{
			if ((isset($tokens[$i - 2][1]) && ($tokens[$i - 2][1] === 'phpnamespace' || $tokens[$i - 2][1] === 'namespace')) || ($dlm && $tokens[$i - 1][0] === T_NS_SEPARATOR && $tokens[$i][0] === T_STRING))
			{
				if (! $dlm)
				{
					$namespace = 0;
				}
				if (isset($tokens[$i][1]))
				{
					$namespace = $namespace ? $namespace . '\\' . $tokens[$i][1] : $tokens[$i][1];
					$dlm       = true;
				}
			}
			elseif ($dlm && ($tokens[$i][0] !== T_NS_SEPARATOR) && ($tokens[$i][0] !== T_STRING))
			{
				$dlm = false;
			}
			if (($tokens[$i - 2][0] === T_CLASS || (isset($tokens[$i - 2][1]) && $tokens[$i - 2][1] === 'phpclass'))
				&& $tokens[$i - 1][0] === T_WHITESPACE
				&& $tokens[$i][0] === T_STRING)
			{
				$class_name = $tokens[$i][1];
				break;
			}
		}

		if (empty( $class_name ))
		{
			return '';
		}

		return $namespace . '\\' . $class_name;
	}
public function getClassname ( string $ file ) : string { $ php = file_get_contents ( $ file ) ; $ tokens = token_get_all ( $ php ) ; $ count = count ( $ tokens ) ; $ dlm = false ; $ namespace = '' ; $ class_name = '' ; for ( $ i = 2 ; $ i < $ count ; $ i ++ ) { if ( ( isset ( $ tokens [ $ i - 2 ] [ 1 ] ) && ( $ tokens [ $ i - 2 ] [ 1 ] === 'phpnamespace' || $ tokens [ $ i - 2 ] [ 1 ] === 'namespace' ) ) || ( $ dlm && $ tokens [ $ i - 1 ] [ 0 ] === T_NS_SEPARATOR && $ tokens [ $ i ] [ 0 ] === T_STRING ) ) { if ( ! $ dlm ) { $ namespace = 0 ; } if ( isset ( $ tokens [ $ i ] [ 1 ] ) ) { $ namespace = $ namespace ? $ namespace . '\\' . $ tokens [ $ i ] [ 1 ] : $ tokens [ $ i ] [ 1 ] ; $ dlm = true ; } } elseif ( $ dlm && ( $ tokens [ $ i ] [ 0 ] !== T_NS_SEPARATOR ) && ( $ tokens [ $ i ] [ 0 ] !== T_STRING ) ) { $ dlm = false ; } if ( ( $ tokens [ $ i - 2 ] [ 0 ] === T_CLASS || ( isset ( $ tokens [ $ i - 2 ] [ 1 ] ) && $ tokens [ $ i - 2 ] [ 1 ] === 'phpclass' ) ) && $ tokens [ $ i - 1 ] [ 0 ] === T_WHITESPACE && $ tokens [ $ i ] [ 0 ] === T_STRING ) { $ class_name = $ tokens [ $ i ] [ 1 ] ; break ; } } if ( empty ( $ class_name ) ) { return '' ; } return $ namespace . '\\' . $ class_name ; }
Examines a file and returns the fully qualified domain name.

@param string $file

@return string
Examines a file and returns the fully qualified domain name .