【发布时间】:2015-04-22 14:14:33
【问题描述】:
我正在使用 CodeIgniter。在我的“instancia”控制器中,我需要从控制器“rubrica”创建一个实例,以便从中访问一个函数。
instancia.php:
include_once APPPATH.'controllers/controller_ppal.php';
include_once(APPPATH.'controllers/rubrica.php');
class Instancia extends Controller_Ppal
{
function __construct()
{
parent::__construct();
$this->no_logged_msg = 'Debe estar autenticado en el sistema para acceder a esta opción.';
$this->no_auth_msg = 'No tiene autorización para acceder aquí.';
$this->no_partic = 'No ha agregado participantes a la lista aún.';
$this->datos_inc = 'No ha ingresado todos los datos de al menos uno de los participantes.';
$this->load->model('instancia_model');
$this->load->model('usuario_model');
}
...
function guardar()
{
$ext_class = new Rubrica();
$ext_class->session = $this->session;
$ext_class->load->model('usuario_model'); //In spite of it is loaded in "__construct" function
$id_rubrica = $ext_class->guardar();
}
}
rubrica.php:
include_once APPPATH.'controllers/controller_ppal.php';
class Rubrica extends Controller_Ppal {
function __construct()
{
parent::__construct();
$this->no_logged_msg = 'Debe estar autenticado en el sistema para acceder a esta opción.';
$this->no_auth_msg = 'No tiene autorización para acceder aquí.';
$this->load->model('rubrica_model');
$this->load->model('tag_model');
$this->load->model('usuario_model');
}
function guardar()
{
$_POST['usuarios'] = $this->usuario_model->todos_usuarios($this->session->userdata('id_usuario'));
}
}
我收到错误消息“未定义属性:Rubrica::$usuario_model”。我已经阅读了几篇文章,但我无法得到解决方案。有人可以帮我吗?
【问题讨论】:
-
Codigniter 不允许这样做,因为它不是很好的 MVC 实践。您可以做的是将共享函数添加到您的核心目录中的父类。然后从它扩展您的控制器。
-
但这是我无法访问的唯一模型。 “tag_model”和“rubrica_model”加载成功
-
应用程序增长时会遇到问题。不建议这样做。
标签: php codeigniter model-view-controller codeigniter-2