【发布时间】:2015-04-20 16:34:00
【问题描述】:
我在编写应用程序时遇到一个奇怪的错误,我想在 url 中使用参数来更改函数中对象的类声明,我用代码解释了我的观点,我有产品页面:
/Product?Page=One
然后我确实喜欢在 product.php 中声明一个对象:
public function product() {
$Pagenumber = $_GET['Page']
if(isset($Pagenumber) && trim($Pagenumber) == 'One'){
var_dump('test') // give me "test" , and that mean it's OK!
$object = new class1()
}
if(isset($Pagenumber) && trim($Pagenumber) == 'Two'){
$object = new class2()
}
//then in the first use of object I got an error
...
}
错误是:
Notice: Undefined variable: object
我尝试了很多可能性,但一无所获,而且,当我这样做时,我得到了一个奇怪的东西,它工作得很好:
$foo = "One"; // string
$Pagenumber = "One";
settype($foo, "string"); // $foo vaut maintenant 5 (integer)
settype($Pagenumber, "string");
if($Pagenumber == $foo){
$object = new class1()
}
$object // I can use the object with no error
...
这里我说问题仅在于链接中的参数?
有人有更好的解决方案来使用参数 URL 的值更改类声明或上述问题的任何更好的解决方案?
【问题讨论】:
-
你确定
$Pagenumber的内容吗?您没有else,因此如果不是"one"或"two",则可能无法定义$object...