Kontrolery w MVC w PHP
Pierwsza rzecz, z którą się zapoznamy - to kontrolery. Kontrolery przetwarzają żądania użytkownika, rozumieją, co użytkownik chciał poprosić od strony internetowej, proszą o odpowiednie dane z modelu i wysyłają je do widoku.
Kontrolery reprezentują klasy OOP.
Jeden plik - to jedna klasa i, odpowiednio,
jeden kontroler. W naszym frameworku kontrolery
będą przechowywane w folderze project/controllers.
Poćwiczmy w tworzeniu kontrolerów.
Dla rozgrzewki zrobimy klasę PageController,
która będzie zarządzać stronami tekstowymi
na naszej stronie internetowej.
Stwórzmy od razu plik dla naszego kontrolera.
Zgodnie z zasadami naszego frameworku każda klasa
powinna być przechowywana w pliku o tej samej nazwie
(łącznie z wielkością liter). To znaczy nasza klasa PageController
będzie przechowywana w pliku PageController.php.
Stwórz ten plik w folderze project/controllers.
Zróbmy w tym pliku naszą klasę:
<?php
namespace Project\Controllers;
use \Core\Controller;
class PageController extends Controller
{
}
?>
Jak widzicie, nasza klasa należy do przestrzeni
nazw Project\Controllers, zgodnie z konwencją
autoloadingu plików (to znaczy ścieżka po folderach
powinna pokrywać się z przestrzenią nazw).
Ponadto, nasza klasa dziedziczy po klasie
Core\Controller, znajdującej się w jądrze
frameworka. Nie trzeba w tym szukać głębokiego
sensu, a po prostu trzeba przyjąć jako zasadę
frameworka. Oto ta zasada: wszystkie tworzone
przez was kontrolery muszą dziedziczyć po
klasie Core\Controller, aby wszystko
działało, jak należy.