- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
诚然,我的 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/
我正在使用 Codeigniter,问题是我的 Controller 中有重复很多的特定代码,我需要将这段代码放在一个地方,然后在 Controller 中调用它。 例子: public funct
我真的很想知道我该怎么做,我有 3 个页面具有指向 1 个页面的相同链接,现在我想要做的是拥有 1 个足够智能的按钮来获取使用了 3 个页面中的哪一个转到该页面并使用它作为返回上一页的链接。 如果有人
我需要从 site_url() 返回值中删除 index.php我不希望搜索引擎缓存我的 URL 包含 index.php。 我通过设置 .htaccess 文件从 url 中删除了 index.ph
我是一名优秀的程序员,十分优秀!