PHP MVC加载助手/模型/视图的方式

时间:2013-11-10 13:17:57

标签: php model-view-controller

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');

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

1 个答案:

答案 0 :(得分:0)

我会将我想要的助手加载到控制器的属性中。在渲染视图时,我会将帮助程序列表传递给View,视图应该在需要时自动加载它们。查找lazy loading

我认为Controller不应该加载助手,因为它们属于View。所以视图应该有一个像loadHelper()的方法。我也建议你使用namespaces