我想知道是否可以创建一个函数并向其传递一个类名。然后该函数检查当前类的实例是否存在,如果不存在,则创建该类的实例。此外,如果可能的话,将该变量设置为全局变量并要求将其返回。我意识到,回国可能是唯一的选择。
function ($class_name) {
// Check if Exists
// __autoload will automatically include the file
// If it does not create a variable where the say '$people = new people();'
$class_name = new $class_name();
// Then if possible make this variable a globally accessible var.
}
这是可能的还是我疯了?
eval
几乎是做到这一点的唯一方法。确保这不是由用户输入提供的,例如来自$_GET
or $_POST
values.
function create_or_return($class_name) {
if(! class_exists($class_name)) {
eval("class $class_name { }");
// put it in the global scope
$GLOBALS[$class_name] = new $class_name;
}
}
create_or_return("Hello");
var_dump($GLOBALS['Hello']);
/*
class Hello#1 (0) {
}
*/
您无法真正使其可全局访问,因为 PHP 没有像 javascript 那样的全局对象。但你不能简单地制作一个容纳物体的容器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)