我刚刚开始关注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);
}
}
?>
但我仍然遇到内部错误。我不知道我的代码是错误还是我错误配置了其他内容。一些建议会很好,谢谢。
编辑: 澄清一下 - 当我将构造函数添加到类中时,我只会收到内部错误。
答案 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设置。试试这个:
这也会删除你应该查看的index.php。