2013-12-21 54 views
0

編輯:鏈接到我的第一個問題。可能會清除一些事情。 PHP Get corresponding data, with default and error handlingPHP創建它自己的構造函數內的對象

我有一個函數,檢查GET語句是否存在。如果是這樣,它將值傳遞給另一個函數,然後根據GET語句的值選擇一個類。

解釋: 的URL =頁=聯繫
的GetFormVariable批准它,並選中類聯繫,它會給後面的字符串。該字符串用作對象「內容」,正如它所說的那樣,該內容創建頁面的內容。

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

通過使用默認值? – gontrollez

+0

@gontrollez我不確定你的意思? –

+0

有一節[在PHP手冊的這個頁面](http://www.php.net/manual/en/functions.arguments.php)標題爲'Default argument values' –

回答

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是肯定的。

+0

當getFormVariable()返回false時,就像url中沒有實際的GET語句一樣,它必須加載一個類。這些類通過對象中的其他文件加載/激活。這裏是對象$ ConfigPage-> SetProperty('Content','ContentHome');然後在構造和使用對象的getFormVariable()函數的文件中。現在我如何在構造函數本身構造這個內容? –

+0

所有'getFormVariable'都會在$ _GET或$ _POST中尋找值。基於這些信息爲某些值實例化一個類應該在'getFormVariable'的外*處理。 – quickshiftin

+1

雖然你的代碼不是解決方案,但你確實改進了我自己的代碼。因此,我謹以你的回答作爲解決方案,因爲我放棄了這個問題。非常感謝你! –

0

這個問題還不清楚。

如何調用getFormVariable?如何使用SetProperty和getFormVariable提供的信息?

據我瞭解,你的意思是這...

$var = getFormVariable(???); 

if (false === $var) 
{ 
    SetProperty('Content', 'ContentHome'); 
} else { 
    SetProperty('var', $var); 
} 
相關問題