这个Codeigniter代码是否正确?

时间:2011-06-03 10:43:24

标签: php codeigniter

我刚刚开始关注PHP框架,花费了大量时间从头开始浪费时间。我以为在朋友推荐给我后,我会给Codeigniter一个去。

我完成了第一个教程并且没有任何问题,但我遇到了第二个问题。

起初我的代码与教程相同:

<?php


class Blog extends CI_Controller{


    function Blog()
    {

        parent::CI_Controller();

        $this->load->scaffolding('entries');
    }


    public function index(){

        $data['title'] = "My Blog Title";
        $data['heading'] = "An intresting title";


        $data['todo'] = array('create media player','design site','finish project');

        $this->load->view('blog_view',$data);
    }
}

?>

但是我收到了内部服务器错误。查看用户指南后,它显示了使用构造函数的不同方法。

我将代码更改为文档规范。

<?php


class Blog extends CI_Controller{


    public function __construct() {

        parent::__construct();

        $this->load->scaffolding('entries');
    }




    public function index(){

        $data['title'] = "My Blog Title";
        $data['heading'] = "An intresting title";


        $data['todo'] = array('create media player','design site','finish project');

        $this->load->view('blog_view',$data);
    }
}

?>

但我仍然遇到内部错误。我不知道我的代码是错误还是我错误配置了其他内容。一些建议会很好,谢谢。

编辑: 澄清一下 - 当我将构造函数添加到类中时,我只会收到内部错误。

2 个答案:

答案 0 :(得分:5)

这很可能是因为您尝试在最新版本的CodeIgniter中加载scaffolding

自版本1.6以来,脚手架已depreciated。在2.0中是removed,最新版本现在是2.0.2

就您使用的提供的代码段而言,后一种声明构造函数(__construct)的形式优于使用类名(Blog)。自2.0以来,此方法也与CodeIgniter的核心类一致。

顺便说一句,我不知道为什么CodeIgniter会在他们的教程中包含这些过时的样本。 EllisLab似乎最近对CI项目失去了兴趣,这是一种耻辱:(

答案 1 :(得分:0)

内部错误意味着服务器配置错误。

通常.htaccess文件或apache设置。试试这个:

  1. 在apache中启用重写模块。
  2. 确保正确配置.htaccess文件。它应该如下所示:https://gist.github.com/ce2914e79193896590bc
  3. 这也会删除你应该查看的index.php。