CodeIgniter控制器方法参数问题
问题描述:
我使用的是codeigniter 2.1,我定义了一个函数,如下所示。CodeIgniter控制器方法参数问题
public function reset($email, $hash) {
}
根据MVC architecture
和OOPS
概念,功能不能,如果我没有在url
通过parameters
执行。但在codeigniter这个函数得到执行,所以我怎么能克服这个?请帮我找到解决办法。
答
只要你需要定义空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
}
}
你如何调用重置方法,我的意思是你可以请提供的网址? – sandip 2013-03-21 05:58:44
CI控制器函数也是php函数,所以它的行为与php函数相同。所以函数被称为默认行为的PHP功能 – 2013-03-21 06:47:30
你应该透露一些你的URL并解释它是如何执行的。 – MahanGM 2013-03-21 06:50:58