Конструкция анонимного класса

Мне нужна идея для создания анонимного класса на PHP. Я не знаю, как я могу работать.

См. мои ограничения:

  • В PHP вы не можете создать анонимный класс, например анонимную функцию (например, class {});
  • В PHP у вас нет области видимости класса (за исключением пространств имен, но здесь та же проблема, что и ниже);
  • В PHP нельзя использовать переменные для указания имени класса (например, class $name {});
  • У меня нет доступа для установки runkitPECL.

Что мне нужно и почему:

Ну, мне нужно создать функцию с именем, т.е. create_class(), которая получает имя ключа и анонимный класс. Это будет полезно для меня, потому что я хочу использовать разные символы класса имени, которые PHP не может принять. Например:

<?php

  create_class('it.is.an.example', function() {
    return class { ... }
  });

  $obj = create_object('it.is.an.example');

?>

Итак, мне нужна идея, допускающая такое использование. Мне это нужно, потому что в моей структуре у меня есть этот путь: /modules/site/_login/models/path/to/model.php. Итак, model.phpнеобходимо объявить новый класс с именем site.login/path.to.model.

При вызове create_object(), если во внутреннем кеше есть определение $class(например, it.is.an.example, он просто возвращает новый класс объект. Если нет, нужно загрузить. Поэтому я буду использовать содержимое $classдля быстрого поиска файла класса.

9
задан Rizier123 29 March 2015 в 15:18
поделиться