Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Fatal error: Call to undefined method
Forum PHP.pl > Forum > PHP
Solimout
Witam! Napotkałem się na dziwny błąd, z niezdefiniowaną metodą.


W pliku admin.class.php mam różne metody, oraz metodę view z parametrem $name; - obojętnie jaki dam w niej kod, zawsze jest błąd.

W innym pliku, chcę się odwołać do mojej metody, czyli tworzę nowy obiekt $admin->view('blabla');

Chwile wyżej, mam odwołanie się do innej metody, która działa prawidłowo.



Próbowałem zmienić nazwę metody, usunąć parametr, wszystkie klamry pozamykane, no nie mam już pomysłów.


Kod z wyświetlania:
  1. echo <<<END
  2.  
  3. {$adm->view('banned')}
  4.  
  5. END;


Dziękuje za wszelką pomoc.
Szymciosek
... a samo
  1. echo $adm->view('banned');


coś wyświetla?
Najlepiej pokaż jeszcze tą metodę view.
Solimout
Nie działa. W metogdzie view obojętnie co dam, to i tak będzie błąd. Nawet jak skopiuje kod z innej metody, to i tak jest błąd.

Gdy zamiast $adm->view dma $adm->innametoda to wszystko działa. No nie rozumiem ;(
Szymciosek
Pokaż tą klasę, w której masz tą metodę.
Szymciosek
  1. include_once 'Admin.php';
  2.  
  3. $adm = new Admin;
  4. var_dump($adm->view('login'));


Takie coś powinno działać.
Solimout
Mam config który automatycznie ładuje klasy, więc include nie potrzebny mi.

Niestety to nie działa.

Nikt pomysłu nie ma? przecież NIBY wszystko jest ok
nospor
Pokaz DOKŁADNIE komunikat błędu jaki dostajesz. Od początku do końca i pokaż linijkę, której na pewno dotyczy ten błąd
Solimout
Fatal error: Call to undefined method Admin::view() in /home/xxxx/domains/xxxx.pl/public_html/oop/pages/admin-users.php on line 54


54 linika to: $adm->view('login');

a powtarzam, metoda wyżej isLogged działa prawidłwoo, i jeśli w tej 54 z view zmienię na te islogged to będzie działać. CZyli coś z metodą. Może kodowanie złe, bo nie mam pomysłu.

Kocurro
Pokaż plik: /home/xxxx/domains/xxxx.pl/public_html/oop/pages/admin-users.php
Solimout
Proszę bardzo:

  1. odpowiedź w ostatnim poście


nospor
W komunikacie bledu mowa jest o linii 54, a tu nie masz takiej linii
Kocurro
Ok, tak na szybko szukając.

VIA http://stackoverflow.com/questions/104516/...heredoc-strings

Użycie curly braces (czyli nawiasów klamrowych) w heredoc (czyli tym co stosujesz poczynająć od <<<) jest bardzo problematyczne. Możesz to zrobić w PHP 5.2 i wyżej ale musisz to robić za pomocą sztuczki.

Nie wiem czy to jest odpowiedź na Twój problem. Jakbyś mógł sprawdzić jaką masz wersję PHP (możesz np. za pomocą phpinfo() ) o by bardzo pomogło.

Mam nadzieję, że to chodź trochę Cię naprowadziło.

--

@nospor: o kurcze, nie zauważyłem. To problem może być zupełnie gdzie indziej.... Nie można by za takie rzeczy ostrzeżeń dawać, to jest robienie z ludzi chcących pomóc idiotów?
Solimout
ROZWIĄZANE.

Głupi błąd. Miałem jakby otwarte 2 pliki w edytorach. Zapisałem 1 plik albo w innym katalogu bo miałem 2, albo po prostu się nie zapisywało, bo miałem 2 otwarte. Przeszukując pliki, odkryłem 2 otwarty, z brakiem tej metody.


Dziękuje wszystkim za chęci.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.