![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 21.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam
prosty i wydawałoby się oczywisty przykład ale nie działa... Kod class C_osoba { var $imie; var $nazwisko; function pokaz(){ echo $imie.' - '.$nazwisko; } } class C_zamowienie { var $zamowienie_uid; var $przedmiot_id; var $osoba= new C_osoba; } chcę tak zrobić by po deklaracji w kodzie: Kod $zamowienie=new C_zamowienie; używać: Kod $zamowienie->przedmiot_id=666; $zamowienie->osoba->imie="Nefretete"; niestety otrzymuję komunikat: Parse error: syntax error, unexpected T_NEW in H:\AppServ\www\klasa.php on line 16 gdzie linia 16 to linia z klasy C_zamowienie o teści: Kod var $osoba= new C_osoba; Dlaczego nie mogę zadeklarować obiektu klasy C_osoba wewnątrz innej klasy jak zwykłej zmiennej ? Jeżeli nie można to jak mogę to osiągnąć ? używam złej składni ? Zaznaczam że nie chcę dziedziczyć klasy C_osoba w klasie C_zamowienie ponieważ potrzebuję jeszcze zadeklarować inne obiekty innych klas (np. C_przedmiot, C_reklamacje) a dziedziczenie wielokrotne w php nie działa. Dlatego docelowo wyglądałoby tak: (ale nie działa jak w c++) Kod class C_zamowienie { ... var $osoba= new C_osoba; var $przedmiot= new C_przedmiot; var $reklamacje= new C_reklamacje; ... } Proszę o pomoc. Ten post edytował Everizon 11.06.2009, 11:53:12 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
OOP w PHP jest dosyć ograniczone. Swoją drogą nie korzystaj z reliktu jakim jest "var".
http://pl.php.net/manual/pl/language.oop5.php |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 21.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Proste i genialne.
W dodatku ładniej wygląda (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dziękuję bardzo i pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 23:14 |