在CodeIgniter类更改视图加载顺序之前使用的include函数

时间:2012-07-05 17:59:12

标签: php codeigniter

好的,所以我的代码看起来像这样:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

require_once("/application/controllers/base/genericPageC.php");

class TutorialsC extends GenericPageC {
    function __construct() {
        parent::__construct();
    }

    protected function loadPage($args) {
        // ...
    }
}

/* End of file tutorialsC.php */
/* Location: ./application/controllers/pages/tutorialsC.php */

require_once语句存在,所以我可以拥有自己的继承权。 现在,当我没有require_once语句并且我的所有代码都在一个庞大,格式错误的控制器中时,一切正常。但是,只要我添加了require_once,我的header.php视图就会加载到<body>标记中而不是{{1},其中我添加了所有脚本和CSS }} 标签。这会对我网站的风格造成轻微但令人讨厌的影响。根据我自己的想法,我认为加载视图的顺序正在改变。任何想法如何解决它?

更新

仍然不知道是什么导致了这个问题,但这就是我所做的: 我去了./system/core/CodeIgniter.php,我更改了以下行:

包括(APPPATH.'controllers /'.$ RTR-&GT; fetch_directory()$ RTR-&GT; FETCH_CLASS()。 'PHP。');

为:

ob_start();
包括(APPPATH.'controllers /'.$ RTR-&GT; fetch_directory()$ RTR-&GT; FETCH_CLASS() 'PHP');
ob_end_clean();

现在它按原样加载。

1 个答案:

答案 0 :(得分:0)

如果您需要创建要在多个控制器中使用的方法,我认为您要做的是创建library,而不是尝试要求或包含您的其他控制器。