![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 1 Dołączył: 15.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki oto problem:
- W pliku index.php inlcuduję pliki klas db (bazy) i get_cfg (config strony) - Tworzę nowy obiekt klasy get_cfg i wywołuję funkcję cfg - W contruct klasy get_cfg tworzę obiekt klasy db - W funkcji cfg pobieram z bazy zawartość komórki theme - Includuję pliki z folderu template/pobrana_wartość/ Przeglądarka zwraca błąd, że pliki template//... (... -> odpowiedni plik) nie istnieje index.php
class/db.class.php
class/get_cfg.class.php
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
error_reporting(E_ALL | E_STRICT);
i czy tearaz cos zwraca? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 1 Dołączył: 15.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Notice: Undefined index: user in ... Notice: Undefined property: db::$assoc in ... EDIT: Pierwszy błąd wyeliminowałem zmieniając linię z $_SESSION['user'] na Cytat if(!empty($_SESSION['user'])) $user = $_SESSION['user']; EDIT2: Temat do zamknięcia. Błąd był tu: $temp = $this->db->assoc['theme']; Miało być : $temp = $assoc['theme']; Ten post edytował morawcik89 5.09.2008, 18:13:55 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie pobiera Tobie z bazy pola 'theme'... ale to Twój najmniejszy problem.
Zalecałbym całkowitą rekonstrukcję Tych klas, bo daleko na razie im do OOP. Programowanie obiektowe to nie tylko zawieranie funkcjonalności w klasach. Idzie za tym cała masa wytycznych, wzorców jak i zdrowego rozsądku. 1. Klasa get_cfg nie powinna mieć nic wspólnego z klasą db. Klasa get_cfg pobiera tylko konfigurację i zwraca ją w czytelnej formie. 2. Klasa db, powinna tylko pobierać parametry połączenia i wykonywać akcje na bazie -> connect(), query(), fetch() etc (polecam zapoznanie się PDO). A powyższymi (czyli pobranie konfiguracji i połączenie z bazą powinien robić jeszcze inny nadrzędny skrypt). Można by też mieć dodatkową klasę User, reprezentującą użytkownika wraz z przypisaną do niego konfiguracją (themes?). Dopiero ona mogłaby używać obiektu klasy db, do pobierania danych. Dodatkowo nazwy. get_cfg? Instancje klasy reprezentują sobą jakby niezależne obiekty, a nie same akcje jakie wykonują. Nie lepiej by było, żeby posiadać klasę Config, która posiada metodę get()?
Powyzsze to prosty przykład, ale powinien mniej więcej wyjaśnić o co mi chodzi. |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Ta.. oop... a ja jestem św Mikołajem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Przenoszę oczko wyżej. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 16:00 |