У меня mvc php cms, как эта структура папок:
application
---admin
--------controller
--------model
--------view
--------language
---catalog
--------controller
------------------IndexController.php
--------model
--------view
--------language
core
--------controller.php
//...more
public
--------index.php
vendor
Я устанавливаю компонент Symfony / router , чтобы получить справку по URL-адресу моего маршрута, используя composer json:
{
"autoload": {
"psr-4": {"App\\": "application/"}
},
"require-dev":{
"symfony/routing" : "*"
}
}
Теперь к маршрутным документам я добавляю этот код для маршрутизации в index.php
:
require '../vendor/autoload.php';
use Symfony\Component\Routing\Matcher\UrlMatcher;
use Symfony\Component\Routing\RequestContext;
use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Route;
$route = new Route('/index', array('_controller' => 'App\Catalog\Controller\IndexController\index'));
$routes = new RouteCollection();
$routes->add('route_name', $route);
$context = new RequestContext('/');
$matcher = new UrlMatcher($routes, $context);
$parameters = $matcher->match('/index');
В моем IndexController у меня есть:
namespace App\Catalog\Controller;
class IndexController {
public function __construct()
{
echo 'Construct';
}
public function index(){
echo'Im here';
}
}
Сейчас в действии я работаю по этому URL: localhost:8888/mvc/index
и не вижу результата: Im here
IndexController.
Как работает URL-адрес маршрутизации Symfony и найти контроллер в моей структуре mvc? спасибо за любую практику и помощь.