我需要一个在 PHP 上创建匿名类的想法。我不知道我该如何工作。
查看我的限制:
- 在 PHP 上你不能创建匿名类,比如匿名函数(like
class {}
); - 在 PHP 上,您没有类范围(命名空间除外,但在下面有同样的问题);
- 在 PHP 上,您不能使用变量来指定类名(如
class $name {}
); - 我无权安装
runkit
PECL。
我需要什么,为什么:
好吧,我需要创建一个名为 ie 的函数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
内容快速搜索什么是类文件。