【问题标题】:Code Igniter Passing Variable to Controller Using URL ErrorCodeigniter 使用 URL 错误将变量传递给控制器
【发布时间】:2010-01-31 21:53:34
【问题描述】:

我正在创建一个 Code Igniter 项目,我想在其中像 get 语句一样通过 URL 传递一个变量,如下所示:
网址:/site/cake/1
控制器功能:cake($var)
但是当变量留空时,我收到一个错误,我怎样才能得到代码点火器,忽略这个?

【问题讨论】:

  • 您能发布您遇到的错误吗?
  • 遇到 PHP 错误严重性:警告消息:Site::cake() 缺少参数 1 文件名:controllers/site.php 行号:16

标签: codeigniter


【解决方案1】:

在您的控制器中,执行以下操作:

function cake($var = null) {
    // your other code here
}

当 URL 中不存在 $var 时,它将被设置为 null,您不会收到任何错误消息。

【讨论】:

  • 太好了 - 我很高兴 :) 如果我的回答有帮助,您介意接受它作为正确答案吗?
  • 您应该将其设置为null 而不是false,因为false 是一个实际有效值。
  • @Chetan:你说得对。我已经编辑了我的答案。感谢您指出这一点。
【解决方案2】:

解释为什么科林的答案有效: 您遇到的问题是该控制器功能没有默认值。在 php 中,为函数参数创建默认值是通过在函数定义中为其分配一个值来完成的 ($var = false)。现在在不带参数调用 cake() 函数时,它会默认设置 $var 为 false。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-03
    • 2016-10-24
    • 1970-01-01
    相关资源
    最近更新 更多