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: class Extension extends \ReflectionExtension
24: {
25:
26: public function __toString()
27: {
28: return 'Extension ' . $this->getName();
29: }
30:
31:
32:
33:
34:
35: public function getClasses()
36: {
37: $res = array();
38: foreach (parent::getClassNames() as $val) {
39: $res[$val] = new ClassType($val);
40: }
41: return $res;
42: }
43:
44:
45: public function getFunctions()
46: {
47: foreach ($res = parent::getFunctions() as $key => $val) {
48: $res[$key] = new GlobalFunction($key);
49: }
50: return $res;
51: }
52:
53:
54:
55:
56:
57: 58: 59:
60: public static function getReflection()
61: {
62: return new ClassType(get_called_class());
63: }
64:
65:
66: public function __call($name, $args)
67: {
68: return ObjectMixin::call($this, $name, $args);
69: }
70:
71:
72: public function &__get($name)
73: {
74: return ObjectMixin::get($this, $name);
75: }
76:
77:
78: public function __set($name, $value)
79: {
80: return ObjectMixin::set($this, $name, $value);
81: }
82:
83:
84: public function __isset($name)
85: {
86: return ObjectMixin::has($this, $name);
87: }
88:
89:
90: public function __unset($name)
91: {
92: ObjectMixin::remove($this, $name);
93: }
94:
95: }
96: