Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak sprawdzić czy funkcja klasowa została wykonana?
Forum PHP.pl > Forum > Przedszkole
dr revuu
Mam następujący problem. Stworzyłem sobie w klasie funkcję, która dodaje rekordy do bazy danych, a wcześniej obrabia dane. Potrzebuję zasygnalizować w moim skrypcie, czy polecenie zostało wykonane czy nie. Wygląda to mnie więcej tak:

  1. $a = new jakasklasa;
  2. $a->funkcja('atrybut1','atrybut2');
  3.  
  4. //a tutaj chciałbym coś takiejgo
  5. if(ta funkcja powyżej==TRUE)
  6. {
  7. coś tam
  8. }


  1. class jakasklasa {
  2. function funkcja{
  3. //obróbka i dodanie danych do bazy
  4. }
  5. }
bastard13
  1. class A {
  2. public function zwracam($param1,$param2)
  3. { //wykonuje działania na przesłanych zmiennych
  4. if(/*wszystko ok*/)
  5. return true;
  6.  
  7. return false; //jak dotarła funkcja tutaj tzn. że coś się nie udało
  8. }
  9. }
  10.  
  11. $obiekt=new A();
  12. if($obiekt->zwracam('atr1','atr2')===true)
  13. { //się wszystko udało
  14. }
  15. else
  16. { //może innym razem:)
  17. }
dr revuu
W Twoim przykładzie występuje wykonanie funkcji i jednoczesne sprawdzenie, ale tylko i wyłącznie natychmiastowe. Ja chciałem operować na czymś, co wykracza poza funkcję i mogę tego użyć w całym skrypcie (np. zmienna lub stała). Niemniej ten sposób w moim przypadku jest użyteczny w 100% i przy nim pozostanę. Swoją drogą w trakcie eksperymentów również napisałem takiego if'a, ale z racji tego, że wykonało mi funkcję podwójnie (bo myślałem, że to sprawdza tylko, nie wykonuje) to szukałem innego rozwiązania.

Takie pytanie jeszcze, dlaczego przy tworzeniu obiektu przy A jest nawias? Tj. $obiekt->new A()

Dzięki bastard!
cykus
Cytat(dr revuu @ 2.09.2010, 22:09:35 ) *
W Twoim przykładzie występuje wykonanie funkcji i jednoczesne sprawdzenie, ale tylko i wyłącznie natychmiastowe. Ja chciałem operować na czymś, co wykracza poza funkcję i mogę tego użyć w całym skrypcie (np. zmienna lub stała). Niemniej ten sposób w moim przypadku jest użyteczny w 100% i przy nim pozostanę. Swoją drogą w trakcie eksperymentów również napisałem takiego if'a, ale z racji tego, że wykonało mi funkcję podwójnie (bo myślałem, że to sprawdza tylko, nie wykonuje) to szukałem innego rozwiązania.

Takie pytanie jeszcze, dlaczego przy tworzeniu obiektu przy A jest nawias? Tj. $obiekt->new A()

Dzięki bastard!

w nawiasach podajesz argumenty dla konstruktora klasy.
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.