Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] jak uzyskać kod funkcji
Forum PHP.pl > Forum > PHP
josephk
Mam pewne pytanie:
Czy istnieje funkcja/sposób na uzyskanie kodu php oraz liczby/listy argumentów funkcji z zakresu user defined functions questionmark.gif

chodzi mi o taką sytuację gdy mamy powiedzmy taką funkcję:
  1. function a($aa,$ab)
  2. {
  3. return ($aa*$ab);
  4. }

i potrzebuję funkcję/sposób na to by uzyskać zmienną określającą tę funkcję np w taki sposób:
  1. $zmienna['parametry']=array($aa,$ab);
  2. $zmienna['kod_funkcji']='return ($aa*$ab);';


ktoś ma jakieś pomysły??
Zyx
  1. <?php
  2.  
  3. function a($aa,$ab)
  4. {
  5. return ($aa*$ab);
  6. }
  7.  
  8. $func = new ReflectionFunction('a');
  9. var_dump($func->getParameters());


Szczegółowy wykaz informacji, jakie możesz wyciągnąć, jest tu:

http://docs.php.net/manual/en/class.reflec...ionabstract.php

Jeśli chodzi o kod funkcji, to w momencie wykonywania skrypt PHP istnieje już wyłącznie w formie kodu bajtowego, więc nie można ot tak rozkazać: "zwróć mi kod funkcji". Tutaj musisz użyć mechanizmu refleksji, by określić, w jakim pliku funkcja jest zdefiniowana, w jakiej linijce się zaczyna i w jakiej kończy, a następnie ręcznie otworzyć ten plik i wyciąć, co trzeba.
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.