/** * Controller for sample page * * @return string $content */ public function sampleAction(Request $request) { //get date from model, pass var_id to model $model = new SampleModel(); $data = $model->getSampleData($request->attributes->get('var_id')); //send request object and data to template return jv_render_template($request, $data); }
//create route collection $routes = new Routing\RouteCollection(); /** * Sample routes * * order matters here! */ /** * Route forwarded to controller with last segment of url added as param */ $routes->add('sample-controller', new Route('sample-controller/{var_id}', array('var_id' => null, '_controller' => '\\wpSymfonyRouter\\controllers\\SampleController::sampleAction'))); /** * Add controller inline as closure and set page render here directly */ $routes->add('sample-inline-controller', new Route('sample-inline-controller/', array('_controller' => function (Request $request) { return jv_render_template($request); }))); /** * straight redirect with closure and wp_redirect */ $routes->add('sample-redirect', new Route('some/page/', array('_controller' => function (Request $request) { wp_redirect(site_url() . '/another/page'); exit; }))); /** * Handle root and any other routes * * Set to 404 response and allow app front to send back to wp */ //if index return not found $routes->add('index', new Route('/', array('_controller' => function (Request $request) {