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;
}
}
Main.php
<?php
class Main extends Controller {
function index() {
$url = $this->loadHelper('my_helper');
$url->do_something('value');
}
}
如果我想加载helper并使用它,我应该使用什么方法:
$this->load->helper('my_helper');
$this->my_helper->do_something('value');
提前感谢您的建议/提示/代码。
答案 0 :(得分:0)
我会将我想要的助手加载到控制器的属性中。在渲染视图时,我会将帮助程序列表传递给View,视图应该在需要时自动加载它们。查找lazy loading。
我认为Controller不应该加载助手,因为它们属于View。所以视图应该有一个像loadHelper()的方法。我也建议你使用namespaces。