诚然,我的OOPHP有点不稳定,但是我看不出这是怎么回事。在我的一个控制器中,我包括一个utils工作表,该表与该控制器一样,扩展了基本的CI_Controller
类。这将引发致命错误:
Fatal error: Cannot redeclare class Utils in {file path}\utils.php on line 88
控制器:
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
?奇怪的是,对于网站的另一部分,我有另一个控制者,具有相同的模式,并且没有任何抱怨。
最后,我尝试将require
指令移到控制器外部,以将其更改为require_once
,以防万一确实有两次调用,并且两种情况下页面都只是挂起,最终解决了没有将源代码发送到浏览器的问题。 。
提前致谢。
参考方案
改名
helpers / utils.php
至
helpers / Utils.php。
Windows以外的服务器将类名与文件名匹配。
希望对您有帮助。
CodeIgniter ODBC问题 - php好吧,我已经构建了一个用于MSSQL的应用程序,最初以这种方式运行它,我购买了一台新计算机,出于某种奇怪的原因,它不允许我通过MSSQL连接。因此,我设置了ODBC。它连接良好,但似乎讨厌活动记录。我将不得不重写所有查询吗?还是我想念的东西。我收到这样的错误。A Database Error Occurred Error Number: 37000 [Mic…
交叉加入codeigniter? - php我正在尝试$this->db->join('tableTwo as b','','CROSS'); $result = $this->db->get('tableOne as a')->result(); 有解决办法吗? 参考方案 Codeignit…
阻止执行控制器 - php我有一个在MY_Controller中运行的ACL。如果权限被拒绝,那么目前,我只是执行redirect('denied')-这是一个非常基本的控制器,它加载了一个非常基本的视图,显示“权限被拒绝”。但是,我想做的仍然是加载最初请求的uri,但加载“拒绝”视图而不是默认视图。我可以在MY_Controller中执行此操作,并且拒绝视图加载…
如何在PHP中检查数组是否为空(Codeigniter) - php这是我的代码示例:public function show($imei,$start_time,$end_time,$dateto) { $from_time = str_replace('-','/',$start_time); $fromi=strtotime($from_time . ' ' …
在Codeigniter中以数组形式获取查询结果 - php我有一个查询,如何获取结果作为数组? php大神给出的解决方案 像这样:$rs = $this->db->query(...); $array = $rs->result_array(); https://www.codeigniter.com/user_guide/database/results.html