功能 - 模型,控制器

时间:2015-04-08 18:27:00

标签: php function codeigniter

在我的模型中,我有这个函数来定义url的格式:

 public function url_format_category($category, $lang_domin) {
    if (lang('abbr') == 'en_US')
        $lang_domin = 'en/';
    else if (lang('abbr') == 'es_US')
        $lang_domin = 'es/';

    if (is_array($category))  
        $category = (object) $category; 

    if($category->title != '') {
        $return = strtolower(url_title($category->title)).'-cmdo-'.$category->id;
    }else{
        $return = 'cursos-de-marketing-digital-online-'.$category->id;
    }   

    return $return;   
}

并且Controller具有检查网址是否正确的功能,如果我错了则重定向:

if($this->uri->uri_string != $this->learn->url_format_category($data['category'], $lang_domin)) {
 redirect($this->learn->url_format_category($data['category'], $lang_domin),'location','301');
exit;
 }

但是现在我必须使用不包含Model的URL做同样的事情,然后想知道我是否可以在Controller中创建这两个函数(一起或单独)以及它如何做到这一点。有可能吗?

注意:我使用的是CodeIgniter

1 个答案:

答案 0 :(得分:1)

您可以将此函数移动到您自己的函数帮助文件中,也可以自动加载该文件,例如,在application/helpers文件夹中创建一个帮助文件functions_helper.php并声明/定义此函数然后,在application/config/autoload.php文件中添加以下行:

$autoload['helper'] = array('functions_helper');

现在您可以像使用任何其他PHP函数一样使用该函数。例如:

url_format_category($data['category'], $lang_domin);

这是重用常见辅助函数的最简单方法(使用帮助程序)。