功能-型号、控制器


Functions - Model, Controller

在我的模型中,我有一个定义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;   
}

控制器有一个功能,可以检查url是否正确,如果我错了则重定向:

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;
 }

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

注意:我使用的是CodeIgniter

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

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

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

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

这是重用公共帮助器函数(使用帮助器)的最简单方法。