ApplicationRouting::initializeAPI PHP Метод

initializeAPI() защищенный Метод

protected initializeAPI ( string $app, Request $request ) : string
$app string The name of the application to load (ex. BackendAjax)
$request Symfony\Component\HttpFoundation\Request
Результат string The name of the application class we need to instantiate.
    protected function initializeAPI($app, $request)
    {
        $queryString = trim($request->getRequestUri(), '/');
        $chunks = explode('/', $queryString);
        $apiVersion = array_key_exists(1, $chunks) ? $chunks[1] : 'v1';
        $apiVersion = strtok($apiVersion, '?');
        $apiClass = 'Api\\' . SpoonFilter::ucfirst($apiVersion) . '\\Init';
        // validate
        if (!class_exists($apiClass)) {
            throw new Exception('This version of the API does not exist.');
        }
        $init = new $apiClass($this->container->get('kernel'));
        $init->initialize($app);
        // The client was requested
        if (array_key_exists(2, $chunks) && $chunks[2] === 'client') {
            $applicationClass = 'Api\\' . SpoonFilter::ucfirst($apiVersion) . '\\Engine\\Client';
        } else {
            // The regular API was requested
            $applicationClass = 'Api\\' . SpoonFilter::ucfirst($apiVersion) . '\\Engine\\Api';
        }
        return $applicationClass;
    }