![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 611 Pomógł: 19 Dołączył: 28.02.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
przykjładowe klasy
Problem jest taki ( w linii o numerze x ) że w klasie news nie można wywołać metody getXml bo parser nie wie czym jest author i do tego mówi że nie jest obiektem co już jest komplentą bzdurą ![]() Skoro nie wie to probuje to rzutować ale na co? na obiekt typu news sie nie da, na interfejs IData2XML również. W innnych obiektowych językach mógłym nawet pokusić sie o obejście problemu poprzez zmiane nazwy metody na toString i jej przeciążaniu, ale klasa w php w domyśle nie dziedziczy po typie object wiec z intefejsu object też tego nie wyłuskam. Nie mam pojęcia jak sobie z tym poradzić a google mówi żeby coś serializować i odserializować ale ja nie wiem jak to obejść tym sposobem Poda ktoś pomocną dłoń? -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A czy w jakiś sposób ustawiasz $author? W konstruktorze? Ręcznie wywołujesz?
Bo jeżeli nie, to się nie dziw, gdyż zmienna ta jest niezainicjowana. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 611 Pomógł: 19 Dołączył: 28.02.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
A czy w jakiś sposób ustawiasz $author? W konstruktorze? Ręcznie wywołujesz? Bo jeżeli nie, to się nie dziw, gdyż zmienna ta jest niezainicjowana.
normalne gety i sety po kolei wszystko Wszystko zainicjowane a komunikat mniej wiecej taki call to a member function getXml() on a non-object chyba znalazłem odpowiedź i to w manualu ale było to głęboko zakopane ![]()
Może sie komuś przyda więc wklejam... i duzy minus dla php5 że nie robi tego w prosty sposób ![]() Niestety rzutowanie działa jak funkcja random raz widzi obiekty a raz zgłasza błąd PHP5 i obiektowość to mit i można go sobie między bajki włożyć ..! -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 191 Pomógł: 5 Dołączył: 13.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
drobne modyfikacje (dopisałem brakujące metody)
wszystko działa jak należy - a u Ciebie jak dobrze widzę jest literówka - w klasie user masz metodę "getXml" a odwołujesz się do niej przez "getXML" poza tym jak chcesz mieć autora typu "user" to daj w konstruktorze funkcji setAuthor(user $param) -------------------- "Don't tell me you want a bridge - show me the canyon you want to cross" Giuseppe Delena
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 493 Pomógł: 0 Dołączył: 14.06.2003 Skąd: Tomaszów Lubelski/Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
wszystko działa jak należy - a u Ciebie jak dobrze widzę jest literówka - w klasie user masz metodę "getXml" a odwołujesz się do niej przez "getXML" wielkosc liter przy nazwach metod nie ma znaczenia...
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 191 Pomógł: 5 Dołączył: 13.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
ups - zagalopowałem się - co nie zmienia faktu, że nigdy nie spotkałem się z "losowością" rzutowania typów
-------------------- "Don't tell me you want a bridge - show me the canyon you want to cross" Giuseppe Delena
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 12:53 |