code_junkie

How do you handle templates for MVC websites? [PHP]

Nov 12th, 2011
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. switch ($page)
  2. {
  3. case "home":
  4. require "views/home.php";
  5. break;
  6. case "search":
  7. require "views/search.php";
  8. break;
  9. }
  10.  
  11. switch ($page)
  12. {
  13. case "home":
  14. require "templates/header.php";
  15. require "templates/navigation.php";
  16. require "views/home.php";
  17. require "templates/footer.php";
  18. break;
  19. case "search":
  20. require "templates/header.php";
  21. require "templates/navigation.php";
  22. require "views/search.php";
  23. require "templates/footer.php";
  24. break;
  25. }
  26.  
  27. require "templates/header.php";
  28. require "templates/navigation.php";
  29. require "views/$page.php";
  30. require "templates/footer.php";
  31.  
  32. class Template {
  33. var $pagename = 'index';
  34.  
  35. function __construct() {
  36. $this->pagename = basename($_SERVER['SCRIPT_NAME'], '.php');
  37. register_shutdown_function(array($this, 'do_output'));
  38. }
  39.  
  40. function do_output() {
  41. $this->header();
  42. $this->display($this->pagename);
  43. $this->footer();
  44. }
  45.  
  46. function __call($template, array $params) {
  47. call_user_func(array($this, 'display'), $template, params);
  48. }
  49.  
  50. function display($template, array $params = null) {
  51. include "templates/$template.php";
  52. }
  53. }
  54.  
  55. require "templates/header.php";
  56. require "templates/navigation.php";
  57. switch ($page)
  58. {
  59. case "home":
  60. require "views/home.php";
  61. break;
  62. case "search":
  63. require "views/search.php";
  64. break;
  65. }
  66. require "templates/footer.php";
  67.  
  68. require "templates/header.php";
  69. require "templates/navigation.php";
  70.  
  71. switch ($page) {
  72. case "home":
  73. require "views/home.php";
  74. break;
  75. case "search":
  76. require "views/search.php";
  77. break;
  78. }
  79.  
  80. require "templates/footer.php";
  81.  
  82. $_SESSION['page'] = sanitize_input($_GET['page']);
  83. require "templates/main.php";
  84.  
  85. require "templates/header.php";
  86. require "templates/navigation.php";
  87. require "views/{$_SESSION['page']}.php";
  88. require "templates/footer.php";
Add Comment
Please, Sign In to add comment