W małej aplikacji opartej o MVC mam jedną klasę modelu, jedną kontrolera i jedną widoku.
Na podstawie $_GET zostaje wywołana odpowiednia metoda kontrolera, która wywołuje sobie model i ładuje odpowiedni widok. Oprócz widoków (w których z założenia ma być html + dane do wyświetlenia) jest też layout z plikiem .css itd.
Struktura zamieszanych w sprawę katalogów:
/layouts
---/default
---index.php
-------/css
-------style.css
/views
-widok1.php
etc.
Akcja: odpalam aplikację, zostaje wywołana domyślna metoda kontrolera, domyślna akcja modelu i domyślny widok. Bootstrap -> kontroler -> widok
Problem: wyświetla layout, wyświetla widok z danymi, ale nie respektuje pliku style.css z layoutu, mimo, że podana jest ścieżka bezpośrednia. Strona wyświetla się, jakby .css w ogóle nie było.
No siedzę nad tym cały dzień i nie ogarniam

domyślna metoda z kontrolera:
$this -> view -> set_View("widok1"); $this -> view -> set_Data($data); $this -> view -> load_View();
klasa widoku:
class View { public $current_view = null; public $data = null; public function set_View($view){ $this -> current_view = $view; } public function set_Data($data){ $this -> data = $data; } public function load_View(){ include('layouts/default/index.php'); } }
layouts/default/index.php
<html> <head> <title></title> <link rel="stylesheet" type="text/css" href="layouts/default/css/style.css"> </head> <body> <h1>Layout</h1> <?php include("views/{$this -> current_view}.php"); ?> </body> </html>
Z braku pomysłu, wszędzie powpisywałem scieżki bezpośrednie i problem jest jak był.
Jeżeli potrzeba więcej danych, piszcie.