Controller.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
<?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');
提前感谢您的建议/提示/代码。
我会把要加载的帮助程序放在控制器的属性中。渲染视图时,我会将帮助程序列表传递给视图,视图应在需要时自动加载它们。查找延迟加载。
我认为控制器不应该加载帮助程序,因为它们属于视图。 所以视图应该有一个像 loadHelper() 这样的方法。另外,我建议您使用命名空间。