![]() |
![]() ![]() |
![]() |
--emes-- |
![]()
Post
#1
|
Goście ![]() |
witam.
mam mały problem:
chcę teraz na polu $st wywałać metodę klasy Storage, no i nie mogę. no więc pierwsza myśl - typ zwracany przez metodę getStorage w klasie Album - tyle, że nie wiem jak ten typ określić...
na codzień piszę w javie, więc w php biegły nie jestem. proszę zatem o pomoc |
|
|
--emes-- |
![]()
Post
#2
|
Goście ![]() |
co ciekawe
daje mi efekt tak jaki oczekuję... Cytat object(Storage)#2 (3) { ["id:private"]=> NULL ["storagePlace:private"]=> object(StoragePlace)#1 (2) { ["id:private"]=> NULL ["describtion:private"]=> string(12) "storagePlace" } ["describtion:private"]=> string(7) "storage" } to w takim razie, dlaczego nie mogę wywołąć
pomimo, że getDescribtion() jest metodą klasy Storage? |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Huh, dziwne, bo powinno sie dac.
Tzn jaki error dostajesz po wywolaniu kodu $st->getDescribtion() aby na pewno nie zrobiles literowki (descriBtion? ![]() -------------------- Nie lubię jednorożców.
|
|
|
--emes-- |
![]()
Post
#4
|
Goście ![]() |
![]() ![]() czemu tak się dzieje? czy jest w ogóle jakiś sposób określenia jaki tym zmiennej ma zwracać metoda?? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Określić w pełnym tego słowa znaczeniu się nie da. Możesz jedynie rzutować typ, ale to z kolei nie obejmuje obiektów, więc musisz tego samodzielnie pilnować, np poprzez
|
|
|
--emes-- |
![]()
Post
#6
|
Goście ![]() |
no tak...
czyli w takiej sytuacji sprawdzam jedynie czy to co zwracam jest obiektem w ogóle, a nie instatncją klasy storage. ok - coś pokombinuję, żeby było dobrze ;-) ps. troszkę nie na temat, ale jakiego środowiska warto użyć, chociażby po to, aby w opisanej przezemnie sytuacji w obiekcie wyciągniętym z innego obiektu, mieć dostęp do metod jego klasy? tak jak pisał - PDT nie bardzo się sprawdził (co dziwi mnie o tyle, że z javą radzi sobie świtnie... ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
1. Czekaj, czekaj. Jak najbardziej możesz sprawdzić czy jest instancją danej klasy:
2. Radzi sobie z Javą, bo do tego (i w tym ![]() |
|
|
--emes-- |
![]()
Post
#8
|
Goście ![]() |
![]() zupełnie nie pomysłałem... ![]() czyli obejść ustalania zwracanego typu można :-D co do eclipsa - w sumie masz racje ;-) chociaż muszę poszukać, że Quanta też mi w tej sytuacji nie pomogła... no nic - muszę się rozglądnąć za jakiś środowiskiem... dzięki |
|
|
--emes-- |
![]()
Post
#9
|
Goście ![]() |
gdyby ktos miał podobny prolbem jak ja, to na szybkiego znalazłem taki jeden - PHP Designer
![]() szkoda jedynie, że tylko na windowsa... :-( |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Cytat no to się okazało, że działać działa, jedynie eclipse nie podpowiada mi w nim metod klasy Storage... czemu tak się dzieje? czy jest w ogóle jakiś sposób określenia jaki tym zmiennej ma zwracać metoda?? Masakra, to ze nie podpowiada !== ze nie dziala :/ Skoro w PHP nie ma okreslania typow, to automatycznie nie podpowiada w wiekszosci przypadkow. Uzyj phpdoc'a do okreslenia zwracanych typow, typow parametrow itp:
i wtedy zadziala -- gdzie w javie bys to zapisal po prostu Kod public Costam getCostam()
{ } Ten post edytował dr_bonzo 30.11.2007, 12:25:45 -------------------- Nie lubię jednorożców.
|
|
|
--emes-- |
![]()
Post
#11
|
Goście ![]() |
wiesz, gdy się człowiek przyzwyczai do pewnym udogodnień, to siłą rzeczy trochę go one ogłupić mogą - takie zycie.
natomiast sam kod - działać działa tak czy inaczej, a podane rozwiązanie podpowiadaczowi nie pomogło - i tak się gubi... ![]() co się zaś tyczy "zwracania typu", to jednak porównanie komentarza, do deklaracji zwracanego typu ma się do siebie nijak... wybacz. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
@dr_bonzo, jak się domyślam, miał na myśli to, że w momencie dodania takiego komentarza, PDT (jak i ZEND) w momencie wywoływania funkcji w dymku wyświetlą podpowiedź, jaki typ zwraca ta funkcja.
|
|
|
--emes-- |
![]()
Post
#13
|
Goście ![]() |
tak tak - wiem.
ułatwi co sprawę nieco przy korzystaniu z metody, tyle, że sam muszę pamiętać iż takowa tam w ogóle jest. dziękuję Was wszystkim ![]() |
|
|
![]()
Post
#14
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
No niestety to jest wada jezykow dynamicznie typowanych
-------------------- Nie lubię jednorożców.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 11:36 |