为啥这个构造函数无法在 Codeigniter 中加载?

Posted

技术标签:

【中文标题】为啥这个构造函数无法在 Codeigniter 中加载?【英文标题】:Why is this constructor failing to load in Code Igniter?为什么这个构造函数无法在 Codeigniter 中加载? 【发布时间】:2011-07-09 15:46:06 【问题描述】:
<?php
class Blog extends CI_Controller 
    function Blog() 
        parent::CI_Controller();
    

我正在尝试在 Code Igniter 中为我的类“博客”创建一个构造函数,而上面的代码给了我一个致命错误:

致命错误:调用未定义的方法 CI_Controller::CI_Controller() 在 C:\xampp\htdocs\mysites\blog\application\controllers\blog.php 在第 5 行

我该如何解决这个问题?

(我正在浏览官方代码点火器网站上的在线视频教程,但我认为该教程已经过时了大约 2 年,因为当我完全按照视频中所示的方式进行操作时,有些东西无法正常工作,这是其中之一 - 视频的链接是 here - 我在教程结束时遇到这个问题大约 8 分钟)

【问题讨论】:

【参考方案1】:

应该是这个……

<?php
class Blog extends CI_Controller 

    function __construct() 
        parent::__construct();
    


您可能正在阅读的教程基于 1.7.2,它具有 php4 的核心,没有使用 php5 __construct() 构建类构造函数的方法。 Codeigniter 2.0.0 有一个 php5 核心并使用它。

【讨论】:

非常感谢,是的,本教程基于 1.7.2,而我正在尝试使用较新的 2.0.0 版本。您的解决方案完美解决了问题! 这正是我所需要的!非常感谢你。你为我节省了很多时间;-)

以上是关于为啥这个构造函数无法在 Codeigniter 中加载?的主要内容,如果未能解决你的问题,请参考以下文章

为啥无法在类上找到适当的构造函数

为啥我在构造函数中填充的这个数组在构造函数返回后没有填充?

如果我尝试在不同的公共类中将数组作为参数传递,为啥我的构造函数无法在 Java 中编译?

为啥此 C++ 代码中的构造函数不明确,我该如何解决?

为啥 Javascript 无法识别我的构造函数?

为啥Java中的抽象类有构造函数? [复制]