0

控制器.php

<?php    
class Controller {
    public function loadHelper($name) {
        require(APP_DIR . 'helpers/' . strtolower($name) . '.php');
        $helper = new $name;
        return $helper;
    }
}

my_helper.php

<?php
class My_helper {
    function do_something($value) {
        return $value;
    }
}

主文件

<?php
class Main extends Controller {
    function index() {
        $url = $this->loadHelper('my_helper');
        $url->do_something('value');
    }
}

问题:

如果我想加载帮助程序并像这样使用它,我应该使用什么方法:

$this->load->helper('my_helper');
$this->my_helper->do_something('value');

提前感谢您的建议/提示/代码。

4

1 回答 1

0

我会将要加载的助手放入控制器的属性中。渲染视图时,我会将助手列表传递给视图,视图应在需要时自动加载它们。查找延迟加载

我不认为控制器应该加载助手,因为它们属于视图。所以视图应该有一个类似 loadHelper() 的方法。另外,我建议您使用命名空间

于 2013-11-10T13:42:44.023 回答