Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 146 Pomógł: 0 Dołączył: 20.04.2002 Skąd: Szczecin Ostrzeżenie: (0%)
|
Witam, zaczynam naukę obiektowego PHP5, na samym początku napotkałem już problemy - php zwraca błąd, które
Zwraca mi błąd: Kod Fatal error: Cannot use object of type miasto as array in c:\wamp\www\class\miasto.class.php on line 12 Google nie wyrzucają żadnych istotnych informacji - pod jakim hasłem mogę szukać jakichkolwiek wskazówek? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
Komunikat oznacza, że: Próbujesz użyć obiektu klasy miasto jako tablicy.
Nie możesz tego zrobić. Napisz jeszcze która linijka z przedstawionego kodu jest tą 12-tą z komunikatu. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 146 Pomógł: 0 Dołączył: 20.04.2002 Skąd: Szczecin Ostrzeżenie: (0%)
|
Linia 12 to jest return...
|
|
|
|
Post
#4
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
Prawdopodobnie zmienna $miasto to obiekt a Ty chcesz dostać sie do jego pól traktując go jako tablicę.
Żeby dostać się do pól wojewodztwo, nazwa musisz zrobić tak:
o ile to własnie w tym problem. |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 146 Pomógł: 0 Dołączył: 20.04.2002 Skąd: Szczecin Ostrzeżenie: (0%)
|
Nie, to jest tablica. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Cały kod jest wyżej, jak dla mnie to tam nie ma żadnych obietków wewnątrz klasy... Aczkolwiek z PHP5 to ja dopiero zaczynam, więc mogę się mylić.
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 1 Dołączył: 23.01.2004 Ostrzeżenie: (0%)
|
abstrahując od tego czy to obiekt czy nie global bije po oczach, raczej nie używaj tego,a obiekt przekaż jako parametr metody
Ten post edytował ebe 21.09.2005, 22:37:26 |
|
|
|
Post
#7
|
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%)
|
Dla pewnosci daj print_r( $miasto ) lub var_dump( $miasto ) przed returnem.
Co do global: da sie wszysztko napisac bez uzywania tej konstrukcji, a poza tym jest to zaprzeczenie programowania obiektowego. |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%)
|
Ja dodam, że używanie GLOBAL w metodach jakiejkolwiek klasy to na prawdę zły nawyk, którego powinno się unikać. Z tąd niedaleka droga do korzystania z klas jako grup funkcji, które praktycznie nie mają nic wspólnego...
GLOBAL w klasach i funkcjach mówimy stanowcze NIE Ten post edytował splatch 22.09.2005, 09:26:07 |
|
|
|
Post
#9
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Cytat Nie, to jest tablica. Cały kod jest wyżej, jak dla mnie to tam nie ma żadnych obietków wewnątrz klasy... Caly kod jest powyżej... Hmmm. Tylko w tym kodzie, a i owszem tworzyż zmienną miast, ale jest ona :1) wykomentowana, a co za tym idzie wogóle nie deklarowana 2) użyta poza jakąkolwiek funkcją. poazatym miasto tak nazywa sie twoja klasa, a ze nigdzie nie ma zmiennej $miasto, wiec on moze bieże sobie to jaką obiekt tej klasy. Któtko mówiąc Twoj kod nie trzyma się kupy |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 569 Pomógł: 0 Dołączył: 17.08.2003 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%)
|
Cytat(nospor @ 2005-09-22 10:31:52) ... poazatym miasto tak nazywa sie twoja klasa, a ze nigdzie nie ma zmiennej $miasto, wiec on moze bieże sobie to jaką obiekt tej klasy. Któtko mówiąc Twoj kod nie trzyma się kupy nospor nie wpadajmy w paranoje podobienst nazw, wychodzilo by z tego ze to bug w php a tego nie podejzewam. Niech pokaze wynik var_dump($miasto) po linijce z global (brrrrr rzeczywiscie jakos dziwnie sie czuje to widzac) i po tym bedzie mozna okreslic co jest nie tak i przydalo by sie zobaczyc cala klase tak jak dziala a nie wyklomentowana bog wie gdzie i jak. Problem jest nie w pelni przedstawiony i tyle. |
|
|
|
Post
#11
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
@Sh4dow pewnie masz rację. Akurat to zdanie pisałem bez większego przekonania. Mówi że cały kod jest podany, więc smaruję względem tego, ale pewnie jak zwykle nie wszystko nam pokazano.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 03:10 |