编辑:链接到我的第一个问题。可能会清楚一些事情。 PHP Get corresponding data, with default and error handling
我有一个检查GET语句是否存在的函数。如果是这样,它会将值传递给另一个函数,然后根据GET语句的值选择一个类。
说明:
url = Page =联系人
GetFormVariable批准它,并选择类Contact,它将返回一个字符串。该字符串用作对象“内容”,正如它所说,它创建页面的内容。
public function getFormVariable($value){
switch (strtoupper($_SERVER['REQUEST_METHOD'])) {
case 'GET':
if (isset($_GET[$value]) && $_GET[$value] != NULL) {
return $_GET[$value];
}
else{
return false;
}
break;
case 'POST':
if (isset($POST[$value]) && $POST[$value] != NULL) {
return $POST[$value];
}
else{
return false;
}
break;
default:
return false;
}
}
现在的问题。 当url中没有GET语句时。 GetFormVariable返回false。这意味着什么都没有显示出来。
我如何给这个构造函数。
public function SetProperty ($prob, $val){
$this->$prob = $val;
}
创建ContentHome的信息 SetProperty('Content','ContentHome');
对不起解释不好,如果有什么不清楚请告诉我。
答案 0 :(得分:1)
我建议我们关闭这个问题,因为不清楚你在问什么,但决定在提供的代码示例上提供一些帮助......
你可以大大减少这种情况,因为没有上下文,函数也可以是static
。
static public function getFormVariable($value)
{
if($_SERVER['REQUEST_METHOD'] == 'GET' &&
isset($_GET[$value]) &&
!empty($_GET[$value]))
return $_GET[$value];
elseif($_SERVER['REQUEST_METHOD'] == 'POST' &&
isset($POST[$value]) &&
!empty($POST[$value]))
return $POST[$value];
return false;
}
您的原始isset
和!= NULL
支票正在进行同样的检查。也许您希望empty()
支票作为第三张支票,但look it up可以确定。
答案 1 :(得分:0)
问题不明确。
你如何调用getFormVariable?如何将SetProperty与getFormVariable提供的信息一起使用?
据我所知,你的意思是......
$var = getFormVariable(???);
if (false === $var)
{
SetProperty('Content', 'ContentHome');
} else {
SetProperty('var', $var);
}