Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MVC + require_once
Forum PHP.pl > Forum > PHP
KotWButach
Witam
Napisalem sobie taką metodę do wczytywania pliczków

  1. public static function page($path) {
  2. $file = $path . '.php';
  3. if (file_exists($file))
  4. require_once $file;
  5. }


Problem pojawił się gdy pliki pomimo innego katalogu nazywają się tak samo. Wtedy MVC widzi je jako ten sam plik... choć scieżki do nich sa inne np.

  1. load::page('cos/plik.php');
  2. load::page('nic/plik.php');
  3.  


wzswietli komunikat o dublowaniu. Jak temu zapobiec sad.gif
nospor
1) Kod co tu masz z obiektówką nie ma żadnego związku - przenosze
2) Jaki znowu MVC?
3) Kod co tu masz jest ok nawet jeśli chodzi o te same nazwy plików. Przecież pliki podajesz ze ścieżką.

Podsumowując - problem pewnie leży gdzieś indziej w tym twoim nic nie mowiącym MVC
korniks
To co zrobiłeś jest troszkę bez sensu. Żeby dołączyć plik do projektu standardowo dodaje się include bądź require, u ciebie jest to load::page, czyli jedym słowem wynalazłeś koło na nowo i do tego jest gorszej jakości od poprzedników. ;/

Jeśli już nie chce ci się dodawać tych includów to możesz zrobić sobie autoloader który sam będzie przeszukiwał wszystkie podane scieżki w celu znalezienia pliku, klasy etc. wtedy zamiast .

  1.  
  2. include "czekolada.php"
  3.  
  4. $test = new czekolada();
  5.  


będzie to wyglądało tak

  1.  
  2. $test = new czekolada();
  3.  


Tutaj faktycznie może się pojawić problem z nazewnictwem, zależy jak napiszesz sobie tego autoloader'a, ja u siebie rozwiązałem to po przez dodawanie postfix przy nazwach plików i tak w katalogu Controllers nazywam pliki nazwa_controller.php dla modeli nazwa_model.php etc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.