Codeigniter: правильный способ доступа к функции в пользовательской библиотеке

0

Я создаю простую библиотеку под названием Xauth.php, чтобы проверить, не был ли пользователь уже зарегистрирован или нет:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Xauth
{
  protected $ci;

  public function __construct()
  {
    $this->ci =& get_instance();
  }

  public function is_logged_in()
  {
    if ($this->ci->session->userdata('is_logged_in'))
    {
      return true;
    }

    return false;
  }
}

Я поместил эту библиотеку в свой Admin_Controller, поэтому любой контроллер, расширенный с помощью Admin_Controller, будет сначала проверен, если данные сеанса пусты, они будут перенаправлены на страницу входа. И это мой Admin_Controller.php:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Admin_Controller extends MY_Controller {

  public function __construct()
  {
    $this->load->library('Xauth');

    if ($this->Xauth->is_logged_in() == false) {
      redirect('auth');
    }
  }

}

Но у меня появились ошибки, в нем говорится:

Message: Undefined property: Dashboard::$Xauth

Где моя вина?

Теги:
codeigniter

1 ответ

1
Лучший ответ

Вы должны использовать свой класс с строчными буквами:

$this->xauth->is_logged_in()
  • 0
    это работает, спасибо, сэр

Ещё вопросы

Сообщество Overcoder
Наверх
Меню