Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] jak uzyskać kod funkcji
josephk
post 18.03.2010, 17:55:52
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 31.01.2008

Ostrzeżenie: (0%)
-----


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??
Go to the top of the page
+Quote Post
Zyx
post 18.03.2010, 18:43:07
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


  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.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 20:25