![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 172 Pomógł: 13 Dołączył: 15.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Błąd zwracany przez przeglądarkę Cytat Funkcja zwrotna Student::_loadCourses nieprawidlowa! Student #1 nie istnieje w bazie danych! Nie rozumiem dlaczego Collection::setCallBack() nie może wywołać Student::_loadCourses (IMG:style_emoticons/default/worriedsmiley.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Słowo private przy deklaracji Student::_loadCourses() coś Ci mówi? Jeśli nie, to poczytaj sobie, co ono znaczy, ponieważ to jest klucz do rozwiązania Twojego problemu.
Tak na marginesie:
Usuń ten kod z cyklu "Masło maślane" - przecież to jest kombinowanie pod górę. Jak komuś będzie zależało, by wywołać metodę obiektu, to niech poda od razu prawidłową tablicę. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 172 Pomógł: 13 Dołączył: 15.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za pomoc, banalny błąd nie zwróciłem na to nawet uwagi, ale co by nie było wszystko toczka w toczkę jest w książce('PHP5 Zaawansowane programowanie').
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1) public $_courses; ten znak podkreślenia chyba Ci się przypadkiem wkradł - zważywszy na to, że później odwołujesz się do courses
2) Co do private - chyba każde jego użycie w Twoim-nie-Twoim kodzie jest błędne. Tego wyjątkowo restrykcyjnego modyfikatora powinno używać się tylko wtedy, gdy dana składowa/metoda obiektu jest częścią jakiegoś "pobocznego mechanizmu" używanego wewnątrz obiektu. Normalnie podstawowym modyfikatorem powinien być protected - nie ma potrzeby zamykania sobie możliwości wykorzystania danej klasy jako nadrzędnej (chodzi o dziedziczenie). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 02:29 |