MVC a update systemu opartego na SMART'ach

0

Mam pytanie na temat ładowania podstron w mvc bez potrzeby ładowania różnych kontrolerów. Mam model page i kontroler page który we view odwołuje się do SMART'ów (musiałem zastosować bo robię aktualizacje starego systemu który jest na nich oparty)

mamy index.php?controller=page&a=example
zmienna $_GET['a'] odwołuje się do plików które maja w sobie tylko tekst html nic więcej tych plików jest ogrom i zastanawiam się nad napisanie dynamicznego ładowania pliku przez jeden kontroler

zastanawiam się czy dobrym rozwiazaniem jest zrobienie

example index:

include_once 'controller/page.php';
$ob = new PageController();
$ob->index($_GET['a']);

a we example view/page

class PageView extends View{
    public function  index() { 
        $page=$this->loadModel('page');
        /* W tym miejscu  

        if(is_file("$go")){
         $this->render($go);    
        }else $this->render('404');

       */
        
    }
 

Będzie to dobre rozwiązanie, może jest lepsze?

1

Pierwsza masakra jaka się rzuca w oczy, to powtórzenia w kodzie, na jakie siebie potencjalnie skazujesz :).

Skoro już dziedziczysz po View, to zrób sobie w nim tę walidację czy plik istnieje, ładowanie modelu i wszystkie inne rzeczy, które musiałbyś kopiować i wklejać w kolejnych klasach widoków. Pomyśl nad klasą action\Base, z metodami beforeRun(), run() etc. Warto dobrze zaplanować klasy bazowe, by dokładanie kolejnych akcji to było już tylko zdefiniowanie klasy o odpowiedniej nazwie i wklepanie w niej jakiegoś stringa jako parametru wywołania zależności i reszta się dzieje z automatu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1