【问题标题】:Send a URI string to a model向模型发送 URI 字符串
【发布时间】:2011-08-15 04:38:06
【问题描述】:

在 CodeIgniter 中,我在模型中创建了一个短 URL 处理函数,它将控制器发送的 URL 作为参数。要设置我的模型接受的字符串,我使用以下内容:

$hash_str = end($this->uri->segments);
$fullURL = (string)"http://example.com/$hash_str";

当我在控制器中输出 $fullURL 时,我得到了“正确”的 URL

fb($fullURL) //outputs http://example.com/3fs3A

但是当我在我的模型中处理这个时,我得到了

fb($fullURL) //outputs http://example.com/%5Bobject%20Object%5D

如何将预处理后的字符串发送到我的模型或如何让结束段在我的模型中正确转换?

【问题讨论】:

  • fb 函数是什么?它是原生 PHP 函数吗?没听说过...
  • 这是萤火虫扩展,firePHP
  • 你为什么使用$this->uri->segments?你应该使用end($this->uri->segment_array())
  • end($this->uri->segments) 也有效,但我看到它正在返回一个数组,我正在尝试将其重新转换为字符串,也许这与我将它传递给我的身份不明的对象有关型号,嗯..
  • 如何将 $fullURL 发送到您的模型?

标签: arrays string model-view-controller codeigniter object


【解决方案1】:

为什么不将函数的结果写入 var 并将该 var 传递给模型?

$shortcut = fb($fullURL);

$this->my_model->my_function($shortuct);

function my_function($shortcut = NULL)
{
    if(! is_null($shortcut) 
    { 
        echo $shortcut; 
    } 
    else 
    { 
      show_404(); 
    }
}

【讨论】:

  • 我明白你关于将函数的结果写入 VAR 的说法,我将来可能会尝试这样做,现在我找到了一种解决方法。顺便说一句,FB 不是我要封装的函数调用。这是一个用于调试控制台信息的 firePHP 方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-28
相关资源
最近更新 更多