Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Using $this when not in object context
Forum PHP.pl > Forum > Przedszkole
maly_pirat
Cześć.

Otóż wyświetla u mnie się błąd w postaci: Using $this when not in object context - znany błąd.
W sieci znalazłem takie odpowiedzi: Tylko w klasie/obiekcie możesz używać $this, poza obiektem musisz utworzyć już nową klasę.

Tak więc robię zgodnie z zaleceniem:
plik: upload.php
  1. include_once './includes/class_upload.php';
  2. $upload = new UploadClass_Core();
  3. $upload->save('d.jpg');


A tutaj klasa, którą próbuje startować:
click (wklejto)

Dodałem w konstruktorze $settings, do których odwołuje się w klasie, a tak ogólnie to sam kod z Kohany.
kipero
Przy której linii wywala Ci ten błąd?
maly_pirat
Wybacz, zapomniałem dodać.

Linjka 51, if ($this->settings['remove_spaces'] === TRUE), błąd leży w tym $this->settings - nie mogę odwołać się do funkcji (protected), którą przpisałem w obiekcie :/

Oczywiście tyczy się wszystkich $this->settings gdzie wstawiłem w klasie.
pablo89pl
Cytat(maly_pirat @ 28.02.2010, 10:24:05 ) *
Wybacz, zapomniałem dodać.

Linjka 51, if ($this->settings['remove_spaces'] === TRUE), błąd leży w tym $this->settings - nie mogę odwołać się do funkcji (protected), którą przpisałem w obiekcie :/

Oczywiście tyczy się wszystkich $this->settings gdzie wstawiłem w klasie.


metoda save jest statyczna, dostep do niej poprzez operator zakresu :: a nie ->

Spróbuj wypieprzyć słówko static z każdej metody i spróbowac ponownie


PS. W konstruktorze cos popieprzyleS.. BO jak nei podasz ustawien to ok, wrzuci Ci jakies defaultowe, ale jka podasz tablice, to i tak konstruktor ja nadpisze defaultową smile.gif
maly_pirat
OK dzięki za pomoc, jeśli chodzi o konstruktor to zajmę się nim później jednak w tej chwili mam problem z zwracaniem wyniku dla save().

Otóż mam tam return $filename; powinno mi zwrócić np. "./images/cat_icon/1267353948Kopia_2.jpg"
Jednak żadnego wyniku nie zwraca. Dodałem var_dump przez returnem i pokazało mi powyższy kod, ale gdy dam var_dump dla ($upload) to nie zwraca mi nazwy pliku, który został zauploadowany. Dlaczego?

Dodam, że cały proces wrzucania działa prawidłowo.
pablo89pl

Zamiast var_dump używaj print_r ;]
Jak przed returnem var_Dumpo zwrocil CI to co chailes to jest ok, a to :
Cytat
ale gdy dam var_dump dla ($upload) to nie zwraca mi nazwy pliku, który został zauploadowany. Dlaczego?

nie rozumie, gdzie masz $upload?

Pokaż aktualny kod i jak to wywołujesz, nie tylko samą klasę;]
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.