2013-03-21 101 views
2

我使用的是codeigniter 2.1,我定義了一個函數,如下所示。CodeIgniter控制器方法參數問題

public function reset($email, $hash) { 

} 

根據MVC architectureOOPS概念,功能不能,如果我沒有在url通過parameters執行。但在codeigniter這個函數得到執行,所以我怎麼能克服這個?請幫我找到解決辦法。

+0

你如何調用重置方法,我的意思是你可以請提供的網址? – sandip 2013-03-21 05:58:44

+0

CI控制器函數也是php函數,所以它的行爲與php函數相同。所以函數被稱爲默認行爲的PHP功能 – 2013-03-21 06:47:30

+0

你應該透露一些你的URL並解釋它是如何執行的。 – MahanGM 2013-03-21 06:50:58

回答

8

只要你需要定義空parametra是這樣的:如果你調用

public function reset($email = null, $hash = null) { 

} 

功能

(controller name)/reset/[email protected]/dsadasda 

$email = [email protected] & $hash = dsadasda

,如果你的功能

(controller name)/reset 

$email$hash將爲空。

此外,您可以聲明像這樣的默認參數。

public function reset($email = [email protected], $hash = dsadasdas) { 

} 

希望我清楚。

1

如果您想要執行帶或不帶參數的功能 您可以爲其設置默認值。

public function reset($email = '', $hash = '') { 

} 

這種方式當沒有參數功能仍然可以執行。 您可以使用條件代碼

public function reset($email = '', $hash = '') { 

    if(!empty($email) AND !empty($hash)){ 
     //your code here 
    } 
}