gpt4 book ai didi

php - 代码点火器: "Cannot redeclare class"

转载 作者:行者123 更新时间:2023-12-03 04:04:05 26 4
gpt4 key购买 nike

诚然,我的 OOPHP 有点不稳定,但我看不出这有什么问题。在我的一个 Controller 中,我包含了一个 utils 表,它与 Controller 一样,扩展了基本的 CI_Controller 类。这会引发 fatal error :

Fatal error: Cannot redeclare class Utils in {file path}\utils.php on line 88

Controller :

class Dashboard extends CI_Controller {

public function __construct() {

//call parent constructor
parent::__construct();

//load utils
require 'application/helpers/utils.php'; //<-- utils loaded
$this->utils = new Utils(); //<-- utils instantiated

//load Dashboard model
$this->utils->load->model('dashboard');

}

//etc...

}

utils.php:

class Utils extends CI_Controller {

//prep for forms (on join or login views)
public function prep_form() {
$this->load->helper('form');
$this->load->library('form_validation');
$this->form_validation->set_error_delimiters('<li>', '</li>');
}

//etc - more util methods

}

为什么它认为我正在重新声明 Utils 尽管只调用它并实例化它一次?奇怪的是,我有另一个 Controller ,用于网站的另一部分,具有相同的模式,并且没有任何提示。

最后,我尝试将 require 指令移到 Controller 之外,并将其更改为 require_once 以防万一确实有东西调用它两次,并且在这两种情况下页面只是挂起,最终解决,没有源代码发送到浏览器。

提前致谢。

最佳答案

重命名

helpers/utils.php

helpers/Utils.php.

Windows 以外的服务器认为类名应与文件名匹配。

希望对您有帮助。

关于php - 代码点火器: "Cannot redeclare class",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24284442/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com