![]() |
![]() ![]() |
![]() |
--emes-- |
![]()
Post
#1
|
Goście ![]() |
znowu mam pytanie.
otóż wyczytałem gdzieś kiedyś, że w php5 konstruktor klasy nie podlega dziedziczeniu. bardzo mnie to ucieszyło nieukrywam (bo po co niby by miał dziedziczyć), tymbardziej że przyzwyczajony jestem do javy, ale... piszę sobie prosty kod klasy PermissionGroup: oraz dziedziczącego po niej serwisu: uruchamia i jaki dostaję komunikat?? Kod Warning: Missing argument 1 for PermissionGroup::PermissionGroup(), called in /var/www/IBDP/test/service.php on line 4 and defined in /var/www/IBDP/model/PermissionGroup.php on line 7 Fatal error: Uncaught exception 'Exception' with message '$name must be a string value' in /var/www/IBDP/model/PermissionGroup.php:27 Stack trace: #0 /var/www/IBDP/model/PermissionGroup.php(8): PermissionGroup->setName(NULL) #1 /var/www/IBDP/test/service.php(4): PermissionGroup->PermissionGroup() #2 {main} thrown in /var/www/IBDP/model/PermissionGroup.php on line 27 no i w tym momencie - domyślny konstruktor od stringa sprawia wrażenie, jakby jednak miał być wywołany automagicznie... w końcu rzuca mi wyjatek ktory sam wymuszam, wlasnie dla domyslnego konstruktora... w takim bądź razie - robię mały test. usuwam ustawienie pola z konstruktora nadklasy - zostaję mi już tylko pierwszy komunikat Kod Warning: Missing argument 1 for PermissionGroup::PermissionGroup(), called in /var/www/IBDP/test/service.php on line 4 and defined in /var/www/IBDP/model/PermissionGroup.php on line 7 czas na wnioski? czy konstruktor nadklasy jednak jest samoistnie wywoływawy...? co nie ukrywam psuje mi mocno schemat modelu... pytanie jeszcze jedno. w javie towrzę sobie trzy konstruktory, jeden do modelu, drugi do serwisów, trzeci do testów i jest ok. w php jakoś mi się to wszystko dziwnie zachowuje gdy mam dwie metody o tej samej nazwie... mam rozumieć, że trzy konstruktory to w php nie bardzo? |
|
|
--emes-- |
![]()
Post
#2
|
Goście ![]() |
hhmmmmm
w sumie, to mógłbym sobie sam odpowiedzieć, że skoro klasa w PHP może mieć tylko jeden konstruktor, to nie może być domyślnie wywoływany ten bezargumentowy, ponieważ skoro sobie nadpisałem argumentowym, to do tamtego dostępu już niet... czyli pytanie moje można uznać za niebyłe ;-p ej, brakuje jeszcze obiektowości w php, brakuje... :-/ |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 04:24 |