1: <?php
2:
3: 4: 5: 6: 7: 8: 9: 10:
11:
12: namespace Nette\Reflection;
13:
14: use Nette,
15: Nette\ObjectMixin;
16:
17:
18:
19: 20: 21: 22: 23:
24: class Extension extends \ReflectionExtension
25: {
26:
27: public function __toString()
28: {
29: return 'Extension ' . $this->getName();
30: }
31:
32:
33:
34:
35:
36:
37:
38: public function getClasses()
39: {
40: $res = array();
41: foreach (parent::getClassNames() as $val) {
42: $res[$val] = new ClassType($val);
43: }
44: return $res;
45: }
46:
47:
48:
49: public function getFunctions()
50: {
51: foreach ($res = parent::getFunctions() as $key => $val) {
52: $res[$key] = new GlobalFunction($key);
53: }
54: return $res;
55: }
56:
57:
58:
59:
60:
61:
62:
63: 64: 65:
66: public static function getReflection()
67: {
68: return new ClassType(get_called_class());
69: }
70:
71:
72:
73: public function __call($name, $args)
74: {
75: return ObjectMixin::call($this, $name, $args);
76: }
77:
78:
79:
80: public function &__get($name)
81: {
82: return ObjectMixin::get($this, $name);
83: }
84:
85:
86:
87: public function __set($name, $value)
88: {
89: return ObjectMixin::set($this, $name, $value);
90: }
91:
92:
93:
94: public function __isset($name)
95: {
96: return ObjectMixin::has($this, $name);
97: }
98:
99:
100:
101: public function __unset($name)
102: {
103: ObjectMixin::remove($this, $name);
104: }
105:
106: }
107: