Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Czy ta funkcja istnieje ?
Forum PHP.pl > Forum > Przedszkole
Turgon
Mój skrypt potrzebuje sprawdzać czy dana funkcja istnieje w klasie. Jak to zrobić ? Bo mam takie coś winksmiley.jpg :
  1. <?php
  2. class news
  3. {
  4. private $action;
  5. public function __construct()
  6. {
  7. }
  8. public function run($action = '')
  9. {
  10. if($action == '')
  11. {
  12. echo $this->_default();
  13. }
  14. else
  15. {
  16. try
  17. {
  18. if($action == '')
  19. {
  20. echo $this->$action();
  21. }
  22. else
  23. {
  24. throw new Exception('New subaction is not exists.');
  25. }
  26. }
  27. catch(Exception $e)
  28. {
  29. echo $e->getMessage();
  30. }
  31. }
  32. }
  33. protected function _default()
  34. {
  35. echo 'Tutaj można wylistować newsy ;) .';
  36. }
  37. }
  38. ?>


To taki wzorcowy moduł winksmiley.jpg . I są problemy gdy wywołam poprzez kontroler nieistniejącą funkcję winksmiley.jpg . Chce żeby pojawiał się odpowiedni wyjątek, który widać tutaj, ale jaki postawić dla ifa warunek?

  1. <?php
  2. $action == ''
  3. ?>
chodzi o zastąpienie tego kodu odpowiednim, bo to było tylko tymczasowe rozwiązanie żeby sprawdzić czy działa jak należy winksmiley.jpg reszta.
LamaMASTER
if (function_exists('funkcja')) { smile.gif
nasty
  1. <?php
  2. function_exists(array('nazwa_klasy','nazwa_metody')); // True | False
  3. ?>


albo :

  1. <?php
  2. $klasa = new Klasaa();
  3. function_exists(array(&$klasa,'nazwa_metody')); // True | False
  4. ?>
Turgon
Dzięki psycho ! Świetnie działa winksmiley.jpg.
nospor
Przenosze na przedszkole

@Turgon manual istnieje
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.