1: <?php
2: /**
3: * PHP Token Reflection
4: *
5: * Version 1.3.1
6: *
7: * LICENSE
8: *
9: * This source file is subject to the new BSD license that is bundled
10: * with this library in the file LICENSE.
11: *
12: * @author Ondřej Nešpor
13: * @author Jaroslav Hanslík
14: */
15:
16: namespace TokenReflection;
17:
18: /**
19: * Common reflection function interface.
20: */
21: interface IReflectionFunction extends IReflectionFunctionBase
22: {
23: /**
24: * Returns if the method is is disabled via the disable_functions directive.
25: *
26: * @return boolean
27: */
28: public function isDisabled();
29:
30: /**
31: * Calls the function.
32: *
33: * This function is commented out because its actual declaration in ReflectionFunction
34: * is different in PHP 5.3.0 (http://bugs.php.net/bug.php?id=48757).
35: *
36: * If you use PHP > 5.3.0, you can uncomment it.
37: *
38: * @return mixed
39: */
40: // public function invoke();
41:
42: /**
43: * Calls the function.
44: *
45: * @param array $args Function parameter values
46: * @return mixed
47: */
48: public function invokeArgs(array $args);
49:
50: /**
51: * Returns the function/method as closure.
52: *
53: * @return \Closure
54: */
55: public function getClosure();
56:
57: /**
58: * Returns if the function definition is valid.
59: *
60: * That means that the source code is valid and the function name is unique within parsed files.
61: *
62: * @return boolean
63: */
64: public function isValid();
65:
66: /**
67: * Returns imported namespaces and aliases from the declaring namespace.
68: *
69: * @return array
70: */
71: public function getNamespaceAliases();
72: }
73: