Php 我能';t加载除CodeIgniter HMVC中具有模块名称的控制器外的任何控制器
因此,我正在使用HMVC在Codeigniter 3中开发一个网站,我的应用程序文件夹中有以下文件夹结构:Php 我能';t加载除CodeIgniter HMVC中具有模块名称的控制器外的任何控制器,php,codeigniter,codeigniter-3,hmvc,Php,Codeigniter,Codeigniter 3,Hmvc,因此,我正在使用HMVC在Codeigniter 3中开发一个网站,我的应用程序文件夹中有以下文件夹结构: core MY_Controller.php modules login controllers Keep_Logged.php Login.php 这是MY_控制器(我将其用作所有控制器的父控制器): 您尝试调用父类中的子类的方法。将cookie\u authenticate()方法移动到MY\u控制器,并
core
MY_Controller.php
modules
login
controllers
Keep_Logged.php
Login.php
这是MY_控制器(我将其用作所有控制器的父控制器):
您尝试调用父类中的子类的方法。将cookie\u authenticate()
方法移动到MY\u控制器,并作为$this->cookie\u authenticate()
调用。别忘了把员工从Keep_Logged构造函数转移到MY_Controller构造函数 我认为这不是问题所在。。模板
模块也是我的\u控制器
的子模块,并且加载正常。请看以下问题:。可能是记录位置有问题。
<?php (defined('BASEPATH')) OR exit('No direct script access allowed');
class MY_Controller extends MX_Controller {
function __construct() {
parent::__construct();
$this->load->module("template");
$this->load->module("login/Keep_Logged");
$this->Keep_Logged->cookie_authenticate();
$exceptions = array("login", "login/authenticate");
if ($this->session->user_id == NULL && !in_array(uri_string(), $exceptions)) {
redirect("/login", "refresh");
}
}
}
<?php
class Keep_Logged extends MY_Controller
{
function __construct() {
parent::__construct();
$this->load->model("login/Login_Model");
$this->load->helper("cookie");
}
function cookie_authenticate() {
if ($user = $this->Login_Model->check_login(get_cookie("user_email"), get_cookie("user_password"), TRUE)) {
$this->session->set_userdata(array(
"user_id" => $user->user_id,
"user_email" => $user->email,
"user_name" => $user->name,
"user_kind" => $user->kind
));
}
}
}