CodeIgniter returns "Undefined property: Rubrica::$usuario_model" 正在尝试加载函数模型
CodeIgniter returns "Undefined property: Rubrica::$usuario_model" trying to load function model
我正在使用 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'));
}
}
我收到错误消息 "Undefined property: Rubrica::$usuario_model"。我已经阅读了几篇文章,但无法找到解决方案。有人可以帮助我吗?
如果您有需要在多个控制器之间共享的功能,您应该编写一个库。
在 application/libraries 中创建 Tools.php(或任何你想要的)
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Tools
{
protected $ci;
public function __construct()
{
$this->ci =& get_instance();
}
public function myfunction($data)
{
//If you want to use codeigniter's functionalities :
//use $this->ci->function()
}
}
然后在您的控制器中:
$this->load->library("tools");
$this->tools->myfunction($data);
如果您的库需要经常使用,您可以在 config/autoload.php 中一次性加载它:
$autoload['libraries'] = array('database', 'tools', '...');
我正在使用 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'));
}
}
我收到错误消息 "Undefined property: Rubrica::$usuario_model"。我已经阅读了几篇文章,但无法找到解决方案。有人可以帮助我吗?
如果您有需要在多个控制器之间共享的功能,您应该编写一个库。
在 application/libraries 中创建 Tools.php(或任何你想要的)
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Tools
{
protected $ci;
public function __construct()
{
$this->ci =& get_instance();
}
public function myfunction($data)
{
//If you want to use codeigniter's functionalities :
//use $this->ci->function()
}
}
然后在您的控制器中:
$this->load->library("tools");
$this->tools->myfunction($data);
如果您的库需要经常使用,您可以在 config/autoload.php 中一次性加载它:
$autoload['libraries'] = array('database', 'tools', '...');