【问题标题】:CodeIgniter: Can't Get My New Controller/View To ShowCodeIgniter:无法让我的新控制器/视图显示
【发布时间】:2018-05-31 13:46:30
【问题描述】:

我正在学习如何使用 codeIgniter 作为我的 php 框架。我正在阅读文档并观看介绍视频,并且通常遵循第一个教程,但这对我不起作用。

我创建了一个名为“test.php”的控制器和一个名为“test_view”的视图。此类的控制器与“welcome.php”完全相同,视图文件只有一些静态 html。但是,当我转到 index.php/test 时,我收到 404 错误。

我也尝试过操作原始的欢迎文件,而不是调用视图,它只是回显“测试”,但我仍然看到原始的欢迎消息!我已尝试清除浏览现金并刷新,但无济于事。

有什么建议吗?谢谢。

编辑:这是 controllers/test.php

的代码
<?php 

class Test extends Controller {

        //Just trying to get it to echo test
    public function index()
    {
        echo "test";
        //$this->load->view('test_view');
    }
}
?>

【问题讨论】:

  • 您介意发布test.php 控制器代码吗?我不应该与welcome.php 完全一样,因为类声明应该不同。
  • 您使用的是哪个版本的 Codeigniter?
  • 如果您使用的是最近下载的CodeIgniter 版本,您需要将class Test extends Controller { 更改为class Test extends CI_Controller {

标签: php codeigniter


【解决方案1】:

尝试查看this page in the documentation - 这可能会解决您的问题。

这基本上意味着您应该尝试输入 index.php?/test/ 代替(注意问号)。

【讨论】:

    【解决方案2】:

    首先,检查上面的链接。可能有用。

    如果不是,那么……

    尝试将配置文件('routes.php')中的默认控制器更改为其他内容(可能是'test'),然后尝试加载 index.php。只是为了测试整个系统是否工作(或不工作)。

    检查 mod_rewrite 是否已加载(在您的服务器 .conf 文件中,如果您使用的是 Apache)。 尝试使用最新版本的框架。 AFAIK,现在控制器类的名称是“CI_Controller”。

    最后,尝试在函数声明之前删除“public”一词。 AFAIR,CI 使您能够在控制器中创建私有函数,只需在函数名称的开头使用前缀(在配置文件中设置)(从而使所有其他函数公开)。

    但最肯定的问题在于 mod_rewrite。如果没有,请尝试使用 die('Page found'); 而不是 echo 进行调试 - 这将允许您跟踪页面上可能的重定向。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-27
      • 2013-08-02
      • 1970-01-01
      相关资源
      最近更新 更多