examen MVC (model view controller)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace Shop\Controller;
  3. use Psr\Http\Message\ResponseInterface;
  4. use Psr\Http\Message\ServerRequestInterface;
  5. use Psr\Container\ContainerInterface;
  6. use Shop\DB\CustomersDB;
  7. use Shop\DB\CustomerOrderDB;
  8. class Shop {
  9. protected $container;
  10. protected $twig;
  11. public function __construct(ContainerInterface $container){
  12. $this->container = $container;
  13. }
  14. public function customers(ServerRequestInterface $request, ResponseInterface $response, array $args){
  15. $container = $this->container;
  16. $twig = $container->get('twig');
  17. $db = new CustomersDB($this->container);
  18. $customers = $db->loadCust();
  19. $var = ["customerList" => $customers];
  20. $container = $this->container;
  21. $render = $twig->render('customers.html.twig', $var);
  22. $response->getBody()->write($render);
  23. return $response;
  24. }
  25. public function customerOrders(ServerRequestInterface $request, ResponseInterface $response, array $args){
  26. $container = $this->container;
  27. $twig = $container->get('twig');
  28. $db = new CustomerOrderDB($this->container);
  29. $customerOrders = $db->customerOrders($args);
  30. $var = ["customerOrders" => $customerOrders];
  31. $render = $twig->render('customerOrders.html.twig', $var);
  32. $response->getBody()->write($render);
  33. return $response;
  34. }
  35. public function nameCustomer(ServerRequestInterface $request, ResponseInterface $response, array $args){
  36. $container = $this->container;
  37. $twig = $container->get('twig');
  38. $db = new CustomerOrderDB($this->container);
  39. $customerName = $db->nameCustomer($args);
  40. $var = ["customerName" => $customerName];
  41. $render = $twig->render('customerOrders.html.twig', $var);
  42. $response->getBody()->write($render);
  43. return $response;
  44. }
  45. }