致命错误:无法在第 38 行的 C:''wamp''www''mvc''smsc''application''models''my_connection.php 中重新声明类 My_connection
我创建了一个模型My_connection。我将此方法调用到控制器的构造函数中。每个错误都有其意义。该错误背后的原因是什么。请说出错误的含义。可能是什么原因。我已经宣读了与此有关的许多问题。所有问题和他们的答案都有些不同。他们试图纠正代码。我想知道原因。请帮助相对问题。
<?php
class My_connection extends CI_Model{
public function __construct(){
parent::__construct();
}
public function is_connected(){
$session_id=$this->session->userdata('session_id');
$session_username=$this->session->userdata('username');
$session_password=$this->session->userdata('password');
$this->db->select('session_id');
$this->db->from('ci_sessions');
$this->db->where('session_id',$session_id);
$ses_query=$this->db->get();
if($ses_query->num_rows>0){
foreach($ses_query->rows as $row){
$session_db_id=$ses_query->row();
}
}
$this->db->select('username','password');
$this->db->from('users');
$this->db->where('username',$session_username);
$user_query=$this->db->get();
if($user_query->num_rows()>0){
foreach($user_query->result() as $row){
$password=$row->password;
$username=$row->username;
}
}
if( md5($password)==$session_password AND $username==$session_username AND $session_db_id==$session_id){
return TRUE;
}
else {
return FALSE;
}`enter code here`
}
}
/**
* End of file my_connection.php
* Location: application/models/my_connection.php
*/`
最后一行是 38。根据错误。我不明白要解决它。
错误消息很明确:不能使用应用中已使用的名称声明新类。
我曾经为我的模型添加前缀(例如:My_connection_model
)以避免这些错误。
我遇到了上述问题。现在,我已经解决了它。解决方案是愚蠢的。但是,它有效。实际上,创建此类错误的原因:
- 当它与自己的核心类冲突时
- 何时,控制器类和模型类具有相同的名称。虽然,这不是绝对的原因。因为,我运行许多这样的程序。那时,它没有显示任何错误。随着某些配置的更改,当您尝试加载时。它给出错误。我通过为控制器类和模型类分配不同的名称来解决我的错误。
以避免问题。
- 对控制器和模型类使用不同的前缀。就像控制器的Myc_或模型的Mym_一样。
注意:这不是完整的答案。我认为,这种解释不足以澄清错误的含义。如果有人对此错误有不同的解决方案或含义。请分享您的解决方案。