Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ilość arg. wymagana przez funkcję
Forum PHP.pl > Forum > PHP
Zigi
Szukam funkcji, która pokaże mi ile argumentów potrzebuję wskazana funkcja.
Sprawdzane funkcje są zrobione przezemnie, ale nie wiem ile jest wymaganych argumentów sad.gif tylko tyle mi na razie potrzeba do szczęścia biggrin.gif

przykład:
  1. <?php
  2.  
  3. function foo ($arg_1, $arg_2)
  4. {
  5.     echo &#092;"Przykładowa funkcja.n\";
  6.     return $retval;
  7. }
  8.  
  9. function foo2 ($arg_1)
  10. {
  11.     echo &#092;"Przykładowa funkcja.n\";
  12.     return $retval;
  13. }
  14.  
  15. $ktora = foo;
  16.  
  17. if (function_exists($ktora)) {
  18.     echo &#092;"Jest taka funkcja.<br />n\";
  19.     // pod tą linią potrzebuję funkcję która pokazała by ile argumentów potrzebuje fun
  20. cja. W tym przypadku FOO -> 2.
  21. } else {
  22.     echo &#092;"Nie ma takiej funkcji<br />n\";
  23. }
  24.  
  25.  
  26. ?>
hawk
func_num_args jest tutaj bezużyteczne, bo działa tylko we wnętrzu funkcji i wcale nie podaje, ilu argumentów oczekuje funkcja.

Możliwości są dwie:
1) PHP5 + Reflection
2) Parsowanie pliku z kodem funkcji winksmiley.jpg
Zigi
Te 3 funkcje:
-func_get_args
-func_num_args
-func_get_arg
Ponieważ działają działaja wewnątrz funkcji (tak jak napsiał hawk)

Nie mam dostępu do serwera z php 5 sad.gif i parsowanie pliku też mnie za bardzo nie pociąga.
Może jednak ktoś zna taką funkcję albo napisał taką, która jest mi potrzebna :?:
Nex
Jest sposob, poczytaj sobie w manualu o obsludze bledow w php...
Mozna utworzyc wlasna funkcje obslugi bledow i przy polaczeniu tego z jakas zmienna globalna mozna sobie policzyc liczbe argumentow danej funkcji. Tylko warunek jest jeden, funkcja ktorej liczbe bedziesz podliczal nie moze przyjmowac wartosci domyslnych do argumentow... no a wyzwolenie podliczania jest banalne, wywolujesz po prostu tak funkcje bez zadnych argumentow... Jestem pewien ze to zadziala, choc nigdy tego nie probowalem... ale w manualu jest przyklad funkcji obslugi bledow, wystarczy go zmodyfikowac i bedzie dobrze...
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.