Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在CodeIgniter类更改视图加载顺序之前使用的include函数_Php_Codeigniter - Fatal编程技术网

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

Php 在CodeIgniter类更改视图加载顺序之前使用的include函数,php,codeigniter,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::__constr

好的,我的代码如下所示:

<?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_一次,我的header.php视图(其中添加了所有脚本和CSS)就会加载到标记中,而不是加载到标记中。这会对我的网站风格造成轻微但令人讨厌的影响。据我自己所知,我认为加载视图的顺序正在改变。有没有办法解决这个问题

更新:

仍然不知道问题的原因,但以下是我所做的: 我转到./system/core/CodeIgniter.php,并更改了以下行:

includeAPPPATH.controllers/。$RTR->fetch_目录。$RTR->fetch_类。“.php”

致:

ob_启动; includeAPPPATH.controllers/。$RTR->fetch_目录。$RTR->fetch_类。“.php”; 清洁卫生


现在它应该加载了。

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

您需要的可能是输出某些内容或包含空格,这会将其放入HTML文档中。建议您在编写HTML文档之前先满足您的要求。您不应该在视图中进行任何处理。require抛出空白的问题存在。。。两次,出于某种原因。但是我不明白为什么脚本标记写在body标记中,空白是如何导致这种情况的。。。至于在编写html文档之前需要做什么,我不知道codeigniter是如何工作的,但是我的控制器的loadPage方法应该在包含继承类之后开始编写文档,不是吗?逻辑上?…我很难理解你的评论。如果您正在加载包含requires的视图,它会将其流式传输到客户端,仅当语句被流击中时才处理requires,因此会导致空格问题。我在任何视图中都没有requires/includes。我见过很多CI继承的示例,有些人甚至声称最优雅的方法是使用include。。。我不知道问题是什么,但至少我解决了。