Standalone laravel or symfony routre

Hello,

Thanks for your time to help. much appreciated. Please see Create listing/form with crud manager with symfony
I was thinking of this:

use Symfony\Component\Routing\Matcher\UrlMatcher;
use Symfony\Component\Routing\RequestContext;
use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Route;
use Symfony\Component\HttpFoundation\Request;
$request = Request::createFromGlobals();
$routes = new RouteCollection();
$routes->add($request->query->get('action').'Action', new Route(
    $_SERVER['PHP_SELF'], // path         
    array('controller' => 'User'), // defaults     
    array($request->query->get('id') => '[0-9]+'), // requirements
    array(), // options
    null, // host
    null, // schemes
    array('GET', 'POST') // methods
));
$context = new RequestContext();
$context->fromRequest($request);
$matcher = new UrlMatcher($routes, $context);
$parameters = $matcher->match($_SERVER['PHP_SELF']);
$controller = new $parameters['controller']($em); // with doctrine EntityManager in constructor
$action = $controller->$parameters['_route'];

I think to have this in each page e.g. product.php, user.php to call User or Product controller. Is it a good practice to have two scripts, one router and one controller for everything e.g. User, Product etc.? If bad practice how about having just one index.php and together with action, also pass another query e.g. ‘controller’ to tell the index router which controller and which action method should call like below:

array('controller' => ucfirst($request->query->get('controller'))), // defaults     

so with the router above with a query ?id=1&action=edit&controller=user
it will call editAction method of User controller? Is it a good practice?
and as we don’t know whether we got post or get for this router how do we know if we should pass $request->query->all() or $request->request->all() as a parameter to action method?

$action = $controller->$parameters['_route'](post or get params);

or better to have two separate router one for post and one for get?
Please advice the best practice for the problem I described in that another thread I gave the link. I appreciate your time.