【问题标题】:CodeIgniter Controller Method Parameters IssueCodeIgniter 控制器方法参数问题
【发布时间】:2013-03-10 12:51:32
【问题描述】:

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

public function reset($email, $hash) {

}

根据MVC architecture和OOPS的概念,如果我没有通过url中的parameters,函数就无法执行。但是在codeigniter这个函数得到执行,那么我该如何克服呢?请帮助我找到解决方案。

【问题讨论】:

  • 你是怎么调用reset方法的,我的意思是你能提供url吗?
  • CI 控制器函数也是 php 函数,因此它的行为与 php 函数相同。所以函数被称为 php functoin 的默认行为
  • 你应该透露一些你的 URL 并解释它是如何被执行的。

标签: codeigniter url parameters codeigniter-2


【解决方案1】:

你只需要像这样定义空参数:

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) {

}

希望我是清楚的。

【讨论】:

    【解决方案2】:

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

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

    这种方式在没有参数的情况下仍然可以执行。 您可以对代码使用条件

    public function reset($email = '', $hash = '') {
    
        if(!empty($email) AND !empty($hash)){
            //your code here
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多