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\method interface.
20: */
21: interface IReflectionFunctionBase extends IReflection
22: {
23: /**
24: * Returns the namespace name.
25: *
26: * @return string
27: */
28: public function getNamespaceName();
29:
30: /**
31: * Returns if the function/method is defined within a namespace.
32: *
33: * @return boolean
34: */
35: public function inNamespace();
36:
37: /**
38: * Returns the PHP extension reflection.
39: *
40: * @return \TokenReflection\IReflectionExtension|null
41: */
42: public function getExtension();
43:
44: /**
45: * Returns the PHP extension name.
46: *
47: * @return string|null
48: */
49: public function getExtensionName();
50:
51: /**
52: * Returns the file name the reflection object is defined in.
53: *
54: * @return string
55: */
56: public function getFileName();
57:
58: /**
59: * Returns the definition start line number in the file.
60: *
61: * @return integer
62: */
63: public function getStartLine();
64:
65: /**
66: * Returns the definition end line number in the file.
67: *
68: * @return integer
69: */
70: public function getEndLine();
71:
72: /**
73: * Returns the appropriate docblock definition.
74: *
75: * @return string|boolean
76: */
77: public function getDocComment();
78:
79: /**
80: * Returns if the function/method is a closure.
81: *
82: * @return boolean
83: */
84: public function isClosure();
85:
86: /**
87: * Returns if the function/method is deprecated.
88: *
89: * @return boolean
90: */
91: public function isDeprecated();
92:
93: /**
94: * Returns if the function/method returns its value as reference.
95: *
96: * @return boolean
97: */
98: public function returnsReference();
99:
100: /**
101: * Returns a function/method parameter.
102: *
103: * @param integer|string $parameter Parameter name or position
104: * @return \TokenReflection\IReflectionParameter
105: */
106: public function getParameter($parameter);
107:
108: /**
109: * Returns function/method parameters.
110: *
111: * @return array
112: */
113: public function getParameters();
114:
115: /**
116: * Returns the number of parameters.
117: *
118: * @return integer
119: */
120: public function getNumberOfParameters();
121:
122: /**
123: * Returns the number of required parameters.
124: *
125: * @return integer
126: */
127: public function getNumberOfRequiredParameters();
128:
129: /**
130: * Returns static variables.
131: *
132: * @return array
133: */
134: public function getStaticVariables();
135: }
136: