$app->get('/add_to_cart/{product_id}', function ($product_id) use($app, $ProductRepository) { $cart = new \App\Controller\Cart($ProductRepository, $app); $cart->add($product_id); return $app->redirect('/'); })->bind('add_to_cart'); $app->get('/cart/{in_cart}', function ($in_cart) use($app, $ProductRepository) { $page = new \App\Controller\Cart($ProductRepository, $app); return $page->page($in_cart); })->bind('cart'); $app->get('/order', function () use($app, $ProductRepository, $OrderRepository) { $page = new \App\Controller\Order($ProductRepository, $OrderRepository, $app); return $page->order(); })->bind('order'); $app->post('/complete_order', function () use($app, $ProductRepository, $OrderRepository) { $page = new \App\Controller\Order($ProductRepository, $OrderRepository, $app); return $page->completeOrder(); })->bind('complete_order'); $app->get('/login/{state}', function ($state) use($app, $UserRepository) { $page = new \App\Controller\Login($UserRepository, $app); return $page->page($state); })->bind('login_get'); $app->post('/login', function () use($app, $UserRepository) { $login = new \App\Controller\Login($UserRepository, $app); if ($login->validate()) { return $app->redirect('/admin'); } else { return $app->redirect('/login/error'); } })->bind('login_post'); $app->get('/admin', function () use($app) { $page = new \App\Controller\Admin($app);