Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]MVC - pierwsza strona jak poprawnie powinna wyglądać?
Forum PHP.pl > Forum > Przedszkole
casperii
Panowie wiem , że porywam się z motyką na słońce, ale w końcu idzie nowe i chce przejść ze smartów na MCV.
Strona index.php wygląda w następujący sposób:

  1. <?php
  2. /*** włączenie raportu błędów ***/
  3.  
  4. /*** definiujemy ścieżke strony ***/
  5. $site_path = realpath(dirname(__FILE__));
  6. define ('__SITE_PATH', $site_path);
  7.  
  8. /*** includujemy plik init.php ***/
  9. include 'includes/init.php';
  10.  
  11. /*** ładujemy router ***/
  12. $registry->router = new router($registry);
  13.  
  14. /*** ustawiamy ścieżkę do controller ***/
  15. $registry->router->setPath (__SITE_PATH . '/controller');
  16.  
  17. /*** ładujemy template (szablon) ***/
  18. $registry->template = new template($registry);
  19.  
  20. /*** ładujemy controller ***/
  21. $registry->router->loader();
  22. ?>
  23.  


Zapoznałem się jaka jest różnica pomiędzy application, controller, views i co za co odpowiada.

Chciałbym teraz stworzyć stronę główną czyli tworze w views/index.php treść strony a poszczególne wyniki z bazy odbieram z controllera.

Ale nasuwa mi się pytanie jak powinno wyglądać rozplanowanie takiego schematu:

- strona (góra, dół) - elementy stałe
- środek strony zmieniany w zależności od podstrony
- meta tagi wczytywane w zależności od podstrony

W templatach to robiłem sobie w środku indexa switcha i wczytywałem wybrany include. Ale tutaj ?

rad11
Możesz to zrobić na różne sposoby między innymi przez użyciu layout. Tworzysz klasę views A w niej obiekt layout. Później możesz np w configu ustawić jakiś default i przypisać go do tego obiektualbo w danym momencie metodzie lub całym kontrolerze zmienić ten obiekt oczywiście główny kontroler musi dziedziczy klasę views.
casperii
Controller wygląda tak:


  1. <?php
  2.  
  3. Class indexController Extends baseController {
  4.  
  5. public function index() {
  6. $this->registry->template->welcome = 'Powitanie';
  7. $this->registry->template->show('index');
  8. }
  9.  
  10. }
  11.  
  12. ?>


Views wygląda tak:

  1. <h1><?php echo $welcome; ?></h1>


Czy mógłbyś mi podpowiedzieć jak powinien wyglądać mój index ?
com
no wywołujesz akcje z kontrolera a ona zwraca widok?
nospor
Moze troche nie na temat, ale porob jakies skroty bo to:
$this->registry->template->welcome
jest z lekka przydlugie. Powinno byc cos w ten desen:
$this->view->welcome
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.