chciałem zacząć zabawę z MVC, lecz jak przekazać dane z kontrolera do view?
<?php include_once './models/UserModel.php'; class AuthController { private $username; public function __construct() { $model = new UserModel(); $this->username = $_POST['username']; if ($model->getUser($this->username) == true) { // tutaj uruchomienie widoku z przekazaniem zmiennej } else { // tutaj uruchomienie tego samego widoku, ale z przekazaniem innej zmiennej } } }
Wiem, że echo w kontrolerze raczej jest niedozwolone, ale chciałem pokazać co chcę zrobić.
Dobrze to jest w ogóle na początek?
W index ładuję MainController, w którym ładuje i konfiguruję Router, następnie w zależności od url np.
"/" -> StartController
"/login" -> AuthController
W StartController mam metodę output(); która ładuje do siebie plik start.php (jakiś szablon strony z formularzem logowania).
Po wysłaniu formularza zostaję przekierowany na "/login" a tym samym jest uruchamiany AuthController, w którym odbieram dane. Następnie jest uruchomienie modelu, w którym mam metodę getUser(); która sprawdza czy użytkownik istnieje w bazie (array) poprzez in_array..., jeśli taki użytkownik istnieje zwracam do kontrolera TRUE no i dalej to jest to samo co wyżej i problem z przekazaniem do widoku informacji na temat tego co zwrócił model.