CodeIgniter控制器方法参数问题

问题描述:

我使用的是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

只要你需要定义空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) { 

} 

希望我清楚。

如果您想要执行带或不带参数的功能 您可以为其设置默认值。

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

} 

这种方式当没有参数功能仍然可以执行。 您可以使用条件代码

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

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