Ответов: 0 Просмотров: 188
|
PHP:
скопировать код в буфер обмена
class loader { private $name,$loader; public function __construct($name) { $this->name = $name; } public function __get($name) { global $import; if($this->loader[$name]) return $this->loader[$name]; $this->loader[$name] = new loader("{$this->name}/{$name}"); return $this->loader[$name]; } public function __call($name, $arguments) { global $import; if(!$this->loader[$name]) $this->loader[$name] = new loader("{$this->name}/{$name}"); $this->loader[$name]($arguments); } public function __invoke() { static $cache; global $import; $arguments = $arguments[0]; foreach($arguments as &$name) { if($cache[$name]) continue; $cache[$name] = true; include_once("{$this->name}/{$name}.php"); } } } $import = new loader('start'); $import('test'); $import('test1','test2'); $import->test('a','b');
Папки и файлы
start/test.php
start/test1.php
start/test2.php
start/test/a.php
start/test/b.php
Может кому понравится для фреймворков не плохо |