【问题标题】:Cakephp Error: Class 'CI_Controller' not found Error, how can it be fixed?Cakephp 错误:找不到类“CI_Controller”错误,如何修复?
【发布时间】:2017-10-08 22:18:28
【问题描述】:

我在教程中安装了 Cakephp,我想创建一个只有 hello world 的基本页面。

我在Hellopagecontroller.php中写了一个类

<?php

class HelloController extends Controller
{

  public function index()
  {
    echo "Hello, CakePHP World";
  }
}

 ?>

一张图片来说明: An image of the files I

这是我打开索引页面时的输出,它没有显示 hello, cakephp world 而不是

错误:找不到类“控制器”文件 /Applications/XAMPP/xamppfiles/htdocs/Test2/src/Controller/HelloController.php 行:5

The error I am getting

注意:cakePHP 版本:3.4.6 - PHP 版本:5.6.28

【问题讨论】:

  • 根据documentation,你必须扩展AppController而不是Controller类。
  • @Tobias 或创建另一个名为 Controller 的控制器来扩展 AppController。 :)
  • 你在学习什么教程?要么是错误的,要么你没有正确遵循它,因为你错过了关于命名空间的所有内容。
  • 请始终提及您的确切 CakePHP 版本(vendor/cakephp/cakephp/VERSION.txt 或 lib/Cake/VERSION.txt 中的最后一行)
  • @ndm 教程中的类名前没有使用或命名空间。我错过了什么?

标签: php cakephp


【解决方案1】:

删除php标签开始前的所有空格会解决这个问题。

【讨论】:

  • 你能进一步解释一下吗?这是什么原因?
【解决方案2】:

你错过了声明namespace,你应该从AppController扩展你的类。

如果您是 CakePHP 框架的新手,我强烈建议您查看 Bookmarker Tutorial

<?php
namespace App\Controller;

class HelloController extends AppController
{
  public function index()
  {
    echo "Hello, CakePHP World";
  }
}

 ?>

【讨论】:

  • 我收到此错误:致命错误:命名空间声明语句必须是 /Applications/XAMPP/xamppfiles/htdocs/test2/src/Controller/HelloController.php 中脚本中的第一个语句3
  • 正如错误所说,命名空间声明必须是脚本中的第一个语句,这意味着您之前不能有其他语句,只有 php open 标记。
  • 在我只有php打开标签之前没有其他声明
  • 请用您的控制器的实际代码更新您的问题。
  • 解决方案如上,但是在
猜你喜欢
  • 2012-12-08
  • 2013-02-18
  • 2013-11-04
  • 1970-01-01
  • 1970-01-01
  • 2019-06-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多