0

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

質問:

ヘルパーをロードして次のように使用する場合、どのアプローチを使用する必要がありますか。

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

事前に提案/ヒント/コードをありがとう。

4

1 に答える 1

0

ロードしたいヘルパーをコントローラーのプロパティに配置します。ビューをレンダリングするときに、ヘルパーのリストをビューに渡すと、ビューは必要に応じてそれらを自動的にロードする必要があります。ルックアップ遅延読み込み

コントローラーはビューに属しているため、ヘルパーのロードを行うべきではないと思います。したがって、ビューには loadHelper() のようなメソッドが必要です。また、名前空間を使用することをお勧めします。

于 2013-11-10T13:42:44.023 に答える