Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wywolywanie funkcji
Forum PHP.pl > Forum > PHP
psychol1986
Witam, mam takie pytanie a w zasadzie problem, dopiero uczę się php, mam stworzoną klasę i w niej 3 funkcje jedna dodająca pliki, jedna usuwająca pliki i trzecia sprawdzająca czy plik który chcemy dodać albo usunąć (ona zwraca true albo false), no i chcialbym wykorzystać tą funkcję w dwóch innych, tylko jak się do niej odwoluje w dwóch pozostałych to wywala mi błąd ze nie ma takiej funkcji. Jak powinno się odwoływać do funkcji w innej funkcji?smile.gif Dzięki za pomoc.
kosmowariat
po pierwsze, jeśli masz klasę to masz metody ;] Mógłbyś zarzucic kawałek kodu, byłoby łatwiej stwierdzic ocb. Domyślam się że musisz użyc $this->nazwaMetody(); a prawdopodobnie używasz nazwaMetody();
psychol1986
Dokładnie ja używam NazwaMetody(); o to mi chodziło super dzieki!!!
thek
Nie zapominaj, że metody klasy wymagają jednej rzeczy: obiektu, na którym działają. Wywołanie więc to nie
nazwa_metody(parametry)
ale
obiekt->nazwa_metody(parametry)
Czyli wywołanie, nawet we wnętrzu obiektu tej klasy musi się przez jakiś obnieść. Jeśli to ten sam, to powstał taki fajny obiekt o nazwie this
Meares
Bardziej obrazowo:
[PHP] ExampleClass.php - pobierz, plaintext
  1. class ExampleClass {
  2. public $ValuesArray = array();
  3.  
  4. private function ExampleFunctionOne($VarName, $VarValue) {
  5. $this->ValuesArray[$VarName] = $VarValue;
  6. }
  7.  
  8. public function SetValue($VarName, $VarValue) {
  9. $this->ExampleFunctionOne($VarName, $VarValue);
  10. }
  11. }
[PHP] ExampleClass.php - pobierz, plaintext


Za wolno piszę. haha.gif Trzy wypowiedzi zdążyliście napisać. o.O
psychol1986
Super już rozumiem o co kaman:). A mam jeszcze jedno pytanie posrednio tez zwiazane z tym chodzi o zmienne. Jeżeli funkcja zwraca zmienna która nie jest przekazywana w parametrze to czy mogę ją wykorzystać w innej funkcji?
Fifi209
No a czemu nie? ;]

  1.  
  2. class test {
  3.  
  4. public function one() {
  5. if ($this->two() == true) {
  6. echo 'yeah';
  7. }
  8. }
  9.  
  10. public function two() {
  11. return true;
  12. }
  13.  
  14. }
  15.  
psychol1986
Nom tak ale jakby ta druga funkcja robila jakies obliczenia i chcialbym wyswietlic ich wynik?
nospor
zastanawiasz sie troche zanim napiszesz na forum czy strzelasz z nudów?
  1. class test {
  2.  
  3. public function one() {
  4. $zm = $this->two();
  5. echo $zm;
  6. }
  7. }
  8.  
  9. public function two() {
  10. $obliczenia = 2+4+5;
  11. return $obliczenia;
  12. }
  13.  
  14. }
psychol1986
Dzięki za szybką odp. Wiem że to irytujące może ale naprawde nie dawno dopiero zacząłem ogarniac php i czasami wykladam sie nawet na prostych rzeczach.
kosmowariat
może i trochę irytujące, rybę już dostałeś, pora na wędnkę http://pl.wikibooks.org/wiki/PHP oraz http://www.google.pl/
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.