这可能是一个 XY 问题,所以我将解释我首先要做什么。我正在尝试创建一个 php 文件来处理我所有的页面刷新 AJAX 调用。这意味着我希望能够向它发送一个类名,以及类构造函数采用的变量列表,然后让它创建类。
我可以很好地创建课程。$class = new $className();
可以很好地创建课程。问题是传入默认变量。大多数变量是包含其他类的对象,所以我不能在创建类后只包含它,我需要在创建类时传递它们。
我在想一些事情:
$varStr = '';
$s = '';
foreach($vars as $var) {
switch($var['type']) {
case 'object':
$varStr .= $s . '$' . $var['value'];
break;
case 'variable':
$varStr .= $s . $var['value'];
}
$s = ',';
}
$class = new $className(echo $varStr);
现在显然 echo $varStr 不会在那里工作,但我不知道会发生什么。我能做些什么来将数组中的变量像这样输出到类构造函数中吗?我想要做的甚至可能吗?有没有更好的办法?
虽然我知道我可以将整个数组传递给类构造函数,但这会使程序的主要部分复杂化,我宁愿放弃单页进行 AJAX 刷新的想法,也不愿走这条路。