gpt4 book ai didi

php - 属性值作为类名给出错误

转载 作者:行者123 更新时间:2023-12-03 08:14:46 25 4
gpt4 key购买 nike

我创建了delete.php页面,该页面将接受类名称和ID,如下所示:

if(isset($_GET['id']) && is_numeric(trim($_GET['id'])) ) {
$id = $_GET['id'];
}
else{
redirect_to($back);
}
if(isset($_GET['cls']) && class_exists($_GET['cls']) ) {
$class = $_GET['cls'];
}
else {

redirect_to($back);
}

然后,我将创建一个对象并调用其delete方法:
$object = $class::find_by_id($id);
$object->delete();

在我的本地主机(wamp服务器)上运行正常。
但是,当我将其上载到主机(php 5.2)时,它在我调用静态函数$ class::find_by_id($ id)的行上给了我这个错误:
解析错误:语法错误,意外T_PAAMAYIM_NEKUDOTAYIM。我怎么解决这个问题?

最佳答案

您可能正在处理两个不同版本的PHP。 WAMP附带了允许$class::find_by_id($id)的5.3,而PHP 5.2不喜欢它。

尝试以下方法:

$object = call_user_func(array($class,'find_by_id'),$id);

如果那行不通(我不明白为什么不行),则可以始终使用eval(即使eval不好):
eval("\$o=$f::find_by_id(\$id);");

当然,最好的解决方案是在服务器上升级到PHP> = 5.3,但是您可能无法控制。

关于php - 属性值作为类名给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15313725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com