Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ocena skryptu.
-arrtxp-
post
Post #1





Goście







Witam, czytając o MVC, stworzyłem własne rozwiązanie i chciałbym abyście oceni mój kod, gdzie mniej więcej przedstawiam system działania:

// struktura najważniejszych plików
  1. /a-control // folder gdzie mamy klasy
  2. + klasy
  3. /mod-view // folder z plikami html
  4. + pliki z html
  5.  
  6. index.php


index.php

  1. <?php
  2. header('Content-type: text/html;charset=utf-8');
  3. date_default_timezone_set('Europe/Warsaw');
  4.  
  5. include('./a-control/aStart.php'); // klasa, która waliduję mi dane (np: aStart::spr_int($dane);) i w niej ustawiam połączenie z bazą.
  6. include('./a-control/aLoadClass.php'); // jak sama nazwa mówi
  7.  
  8. // ustawienia loadera class
  9. $firstLoader = new ClassLoader('i', './a-control/');
  10. $firstLoader->register();
  11.  
  12. // generowanie strony
  13. if(empty($_GET['v'])) { $_GET['v'] = 'start'; }
  14. $u = iPage::loadClass($_GET['v']); // wywołanie odpowiedniej kasy
  15. $u->view();
  16. ?>


iPage.php // ustala to co ma być wyświetlone
  1. <?php
  2. abstract class iPage
  3. {
  4. public static $_page = 'start';
  5. public $fd_www = '/www/'; // folder z strona
  6. public static $db_key = 'baza'; // baza danych - prefix
  7. public $_msg = '';
  8.  
  9. // wyczytywanie odpowiedniej klasy
  10. public static function loadClass($page)
  11. {
  12. self::$_page = aStart::spr_txt($page);
  13. $i_class = array(
  14. 'index' => 'iView_Index',
  15. );
  16.  
  17. if(!empty($i_class[self::$_page]))
  18. {
  19. return new $i_class[self::$_page];
  20. }
  21. else
  22. {
  23. return new iStart;
  24. }
  25. }
  26.  
  27. // generowanie strony
  28. public function view()
  29. {
  30. $file = $this->fd_www.'/mod-view/'.self::$_page.'.php';
  31. if(file_exists($file))
  32. {
  33. include($file);
  34. }
  35. else
  36. {
  37. self::$_page = 'error';
  38. include($this->fd_www.'/mod-view/error.php');
  39. }
  40. }
  41. // koniec
  42. }
  43. ?>


a-control/iView_Index.php
  1. <?php
  2. class iStart extends iPage
  3. {
  4. public function __construct() {
  5. // tutaj sobie sprawdzam co ma być wywołane, np:
  6. if(isset($_GET['zaloguj'])) { $this->zaloguj(); }
  7. }
  8. public function zaloguj()
  9. {
  10. // zapytanie do bazy, czy coś w tym stylu
  11. }
  12. public function dom()
  13. {
  14. return 'Ale Twoja chata to ruina.';
  15. }
  16. }
  17. ?>


mod-view/index.php - widok

  1. <html>
  2. <head>
  3. <title>Dom</tilte>
  4. <//head>
  5. <body>
  6. <?php echo $this->dom(); ?>
  7. </body>
  8. </html>


Teraz chciałbym dowiedzieć się czy takie rozwiązanie jest złe. Jakie stwarza problemy takie rozwiązanie?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 07:11