blrik
@blrik
Музыкант

Как сделать загрузку котроллера для роутера от Symfony?

Для роутинга на сайте решил использовать SymfonyRoute, подскажите как сделать автозагрузку класса, сейчас есть такой код:
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Matcher\UrlMatcher;
use Symfony\Component\Routing\RequestContext;
use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Route;
use Symfony\Component\Routing\Exception\ResourceNotFoundException;


try {
    $routes = new RouteCollection();
    $routes->add('pst_get', new Route('/pst/{suffix}', array('_controller' => 'Post::get', 'suffix' => ''), array('suffix' => '.*'), array(), '', array(), array('GET')));
    $routes->add('pst_post', new Route('/pst/{suffix}', array('_controller' => 'Post::post', 'suffix' => ''), array('suffix' => '.*'), array(), '', array(), array('POST')));

    $request = Request::createFromGlobals();
    $context = new RequestContext();
    $context->fromRequest($request);
    $matcher = new UrlMatcher($routes, $context);
    $parameters = $matcher->match($request->getRequestUri());
    $request->attributes->add($parameters);
    $attributes = $matcher->match($request->getPathInfo());
    $controller = $attributes['_controller'];
    $response = $controller();
    return $response;
} catch (ResourceNotFoundException $e) {
    $proxy = new Proxy();
    $proxy->setConfig($_config);
    $proxy->run();
}


Класс Post так и не может загрузится.

В laravel есть Illuminate\Support\ClassLoader::addDirectories(); где указывается папка для загрузки, а в Symfony не могу найти аналогичную.
  • Вопрос задан
  • 172 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы