我正在使用codeigniter 2.1,我定义了一个函数如下。
public function reset($email, $hash) {
}
根据MVC architecture
和OOPS
概念,如果我未通过parameters
中的url
,则无法执行此功能。但是在codeigniter中这个函数会被执行,所以我怎么能克服这个?请帮我找到解决方案。
答案 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
}
}