CodeIgniter控制器方法参数问题

时间:2013-03-21 05:39:11

标签: codeigniter url parameters codeigniter-2

我正在使用codeigniter 2.1,我定义了一个函数如下。

public function reset($email, $hash) {

}

根据MVC architectureOOPS概念,如果我未通过parameters中的url,则无法执行此功能。但是在codeigniter中这个函数会被执行,所以我怎么能克服这个?请帮我找到解决方案。

2 个答案:

答案 0 :(得分:9)

只需要像这样定义null参数:

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

}

如果你叫功能

(controller name)/reset/mail@mail.com/dsadasda

$email = mail@mail.com& $hash = dsadasda

如果你运作

(controller name)/reset

$email$hash为空。

您也可以像这样声明默认参数。

public function reset($email = mail@mail.com, $hash = dsadasdas) {

}

希望我很清楚。

答案 1 :(得分:1)

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

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

}

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

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

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