Я получаю следующую ошибку при использовании Ion Auth с Code Igniter 2.0 и PHP 5.2
ErrorException [ Notice ]: Undefined property: Practice::$ion_auth
SYSDIR/core/Model.php [ 50 ]
и вот код этой строки:
45 * @access private
46 */
47 function __get($key)
48 {
49 $CI =& get_instance();
50 return $CI->$key;
51 }
52 }
53 // END Model Class
54
55 /* End of file Model.php */
Странная часть этой ошибки заключается в том, что она появляется, когда я пытаюсь получить доступ к «ограниченной» странице без предварительного перехода на неограниченную страницу в том же домене. То есть, если я открою свой браузер и наберу example.com/restricted - я получу ошибку. Но если я наберу example.com/login и ТОГДА (даже если я не войду в систему должным образом) перейду на example.com/restricted, он либо впустит меня, либо перенаправит меня правильно (в зависимости от того, действительно ли я вошел в систему).
Я не могу понять для жизни меня, что это такое, что вызывает эту проблему. Вот пример конструкторов для некоторых моих контроллеров, использующих Ion Auth Library:
class Home extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->helper('url');
$this->load->library('firephp');
//ION
$this->load->library('Ion_auth');
$this->load->library('session');
$this->load->library('form_validation');
$this->load->database();
}
и
class Practice extends CI_Controller {
var $user;
var $game;
function __construct() {
parent::__construct();
// ION Auth
$this->load->library('Ion_auth');
$this->load->library('form_validation');
$this->load->library('session');
// Defaults
$this->load->helper('url');
$this->load->library('firephp');
// Models
//$this->load->model('Ion_auth_model');
//$this->load->model('Player');
$this->load->model('Practice_Game');
// User must be logged in to use this controller
// If user is logged in then we get his info as a class variable
if ($this->ion_auth->logged_in()) {
$this->user = $this->ion_auth->get_user($this->session->userdata('user_id'));
} else {