function voor ophalen van standaard args in een functie
Jan Erik Van woerden
03/02/2011 00:10:26Hallo,
Ik ben bezig met een framework. Nu wil ik graag een class kunnen ontleden.
Ik heb al de functie get_class_methods() en die in een foreach gooien.
Maar is het dan ook mogelijk om alle args van een functie op te halen.
Bijvoorbeeld als je de functie my_function($arg, $arg2) hebt.
Dat je dan een functie hebt die zegt dat er 2 args zijn?
Alvast bedankt.
Ik ben bezig met een framework. Nu wil ik graag een class kunnen ontleden.
Ik heb al de functie get_class_methods() en die in een foreach gooien.
Maar is het dan ook mogelijk om alle args van een functie op te halen.
Bijvoorbeeld als je de functie my_function($arg, $arg2) hebt.
Dat je dan een functie hebt die zegt dat er 2 args zijn?
Alvast bedankt.
PHP hulp
22/12/2024 08:35:01Jan Erik Van woerden
03/02/2011 00:16:53Ik ben een framework aan het maken voor Wordpress.
En met de class voegt alle functies toe met add_action() maar je moet ook het aantal args invullen (BIj sommige acties is het belangrijk om het aantal args te vergroten.) Dat moet je dan duidelijk aangeven.
Toevoeging op 03/02/2011 00:18:14:
Dit is trouwens niet wat ik bedoel XD
Ik wil buiten de func_get_args kunnen opvragen zonder de functie uit te laten voeren.
En met de class voegt alle functies toe met add_action() maar je moet ook het aantal args invullen (BIj sommige acties is het belangrijk om het aantal args te vergroten.) Dat moet je dan duidelijk aangeven.
Toevoeging op 03/02/2011 00:18:14:
Dit is trouwens niet wat ik bedoel XD
Ik wil buiten de func_get_args kunnen opvragen zonder de functie uit te laten voeren.
Jelmer -
06/02/2011 13:32:34Ik denk dat het wel kan via de reflection API.
Jep, het kan:
Jep, het kan:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
class X
{
public function actionX($a, $b, $c)
{
}
public function actionY($a)
{
}
public function actionZ($a, $b = null)
{
}
}
$class = new ReflectionClass('X');
$methods = $class->getMethods();
foreach ($methods as $method)
{
echo $method->name . ":\n";
foreach ($method->getParameters() as $param)
echo $param->name . "\n";
}
?>
class X
{
public function actionX($a, $b, $c)
{
}
public function actionY($a)
{
}
public function actionZ($a, $b = null)
{
}
}
$class = new ReflectionClass('X');
$methods = $class->getMethods();
foreach ($methods as $method)
{
echo $method->name . ":\n";
foreach ($method->getParameters() as $param)
echo $param->name . "\n";
}
?>