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');