[php] pobranie informacji o metodzie (sygnatury)

0

Witam,
potrzebuję w jakiś sposób dostać informację o tym jak zdefiniowana jest metoda w obiekcie (najlepiej lista parametrów wraz z wartością domyślną jeśli istnieje).

Mój problem wygląda następująco:
chcę zdefiniować "magiczną" metodę w klasie, która po wywołaniu funkcji input_Raw wywyoła na tym obiekcie metodę input, przerobi zwrócony string i go zwróci. I proste (call_user_func_array i po krzyku) jednak wywołując tą metodę input - muszę podmienić ostatni (zawsze ostatni) parametr na true.

przykład:
w klasie mam metody:

function input($param1, $param2, $param3=array(), $param4=false);

function select($param1, $param2, $param3 = false);

gdybym miał pewność, że zawsze metody input_Raw i select_Raw będą wywoływane z wszystkimi parametrami - to po prostu bym podmieniał wartość ostatniego parametru w $params w

function __call($method, $params) {
}

jednak nie zawsze tak będzie: może ktoś wywołać metodę tak:

$object->inputRaw('123', 'asd');

i wtedy w $params mam
[0] => '123'
[1]=> 'asd'

i w przypadku gdy jest to input_Raw - musiałbym dodać trzeci parametr z wartością true, a w przypadku select_Raw - dodać dwa parametry:
[2]=> array(),
[3]=> true

Oczywiście metod mam więcej niż dwie ( input i select), więc sprawdzanie czy $method == 'cośtam' nie wchodzi w grę.

0

Heh, najpierw szukałem godzinę, zdesperowany napisałem tutaj, a potem znalazłem:
http://theserverpages.com/php/manual/en/language.oop5.reflection.php

pzdr

1 użytkowników online, w tym zalogowanych: 0, gości: 1