Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> klasa Collection
basu
post
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 26.12.2005

Ostrzeżenie: (0%)
-----


Mam problem z klasa Collection z książki PHP5 zaawansowane programowanie.
Kod zamiescilem w zalaczniku http://www.artfly.ovh.org/collection.zip
Błąd który otrzymuje brzmi:

exception 'Exception' with message 'Funkcja zwrotna Student::_loadCourses nieprawidłowa!' in C:\wamp\www\PHP5_Zaawansowane_programowanie\moje\rozdzial_5_klasa_collection\class.Collection.php:96 Stack trace: #0 C:\wamp\www\PHP5_Zaawansowane_programowanie\moje\rozdzial_5_klasa_collection\class.Student.php(17): Collection->setLoadCallback('_loadCourses', Object(Student)) #1 C:\wamp\www\PHP5_Zaawansowane_programowanie\moje\rozdzial_5_klasa_collection\class.StudentFactory.php(32): Student->__construct('1', '1') #2 C:\wamp\www\PHP5_Zaawansowane_programowanie\moje\rozdzial_5_klasa_collection\test.php(10): StudentFactory::getStudent(1) #3 {main}

NiIe wiem jak dalej ruszyc, ksiazka jest dosc ciezka w odbiorze..
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
matipl
post
Post #2





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 6.05.2003
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Sądzę, że masz błąd w klasie Student, jest:
  1. <?php
  2. private function _loadCourses(Collection $col) {
  3. $courses = StudentFactory::getCoursesForStudent($this->_id, $col);
  4. }
  5. ?>

a powinno byc:
  1. <?php
  2. public function _loadCourses(Collection $col) {
  3. $this->courses = StudentFactory::getCoursesForStudent($this->_id, $col);
  4. }
  5. ?>


Zmiana private na public, poniewaz w setLoadCallback() jest sprawdzane czy podana metoda jest dostepna, a $this->courses, zamiast $courses ponieważ inaczej nie ma to sensu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
kszychu
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


Nie umieszczaj tego samego problemu w wielu wątkach, to niezgodne z regulaminem. I używaj bbcode.
Zamykam, proszę kontynuować w poprzednim wątku.
Go to the top of the page
+Quote Post

Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.12.2025 - 23:15