dzięki faktycznie jest to fajnie rozpisane i pokazane jak to działa mniej więcej. Teraz tylko pozostaje albo napisać coś co jest zrobione żeby zrozumieć jak to działa albo próbować przerobić sample bo np chciał bym pozostać czy smarty zeby nie przerabiać plików widoku
Mam pytanie odnośnie MVC korzystam z mini_master z github gdzie mogę zadeklarować klasę tak aby mieć dostęp do deklaracji z poziomu kontrolera modelu i widoku
jak przekazać zmienne z klasy do widoku
np w HomeController mam $test = '1';
i chciał bym ja przekazać do HomeView aby wyświetlić przypisać ją do smarty i wyświetlić
class HomeView extends View
{
public function index()
{
$this->render('home', 'index');
}
}
raczej odpada
Z tego co wiem to Model obsługuje całą logike połaczenia z bazą danych Widok odpowiada za warstwe końcową to co użytkownik widzi a kontroler przyjmuje dane wejściowe od użytkowników oraz reaguje na jego poczynania.
teraz robie wyświetlanie listy plików w katalogu z bazami danych sqlite czyli w modelu wykonuje stworzenie listy plików $files = glob(APP.'data/*.s3db'); i tą zmienna powinienem przekazać do widoku gdzie przypisze ją do smarty $tpl->assign('file', $files); a kontroler wyświetli mi widok $view = $this->LoadView('home'); $view->index();
chyba wpadłem jak to zrobić tylko nie jestem w 100% przekonany proszę o potwierdzenie
class Player extends Controller
{
public function index()
{
//Pobiera wszystkich zawodników z MySql do tablicy
$data['players'] = $this->model->getAllPlayers();
//Wczytuje Widok
$view = $this->LoadView('player');
//Wczytuje Metode index z Widoku w której $data jest przydzielana do zmiennej Smarty
$view->index($data);
}
}
pytanie czy to jest dobre rozwiązanie czy może jest jakieś prostrze