【发布时间】:2016-04-28 05:11:33
【问题描述】:
我是一个使用 codeigniter 的初学者,并且一直在尝试制作一个我编写的要加载的自定义库。我已将 CI 设置为通过名为“check_login”的控制器启动网站。 该文件内容如下:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Check_login extends CI_Controller {
public function __construct (){
parent::__construct();
$this->load->library('check_login');
}
function index (){
$this->check_login->checker();
}
}
'check_login' 库被放入CI/application/libraries/ 并包含以下脚本:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Check_Login {
public function cheker (){
//$CI =& get_instance();
$is_logged_in = $this->session->userdata('is_logged_in');
if(!isset($is_logged_in) || $is_logged_in != true){
$this->load->view('welcome_message');
}
}
}
我也尝试过使用$CI =& get_instance(); 代替$this,还尝试将库的名称添加到autoload config 文件中以查看它是否有效。浏览器显示的结果如下:
The Output in image
我想知道是什么导致我的库无法加载,以及何时应该使用get_instance(); 而不是 $this。非常感谢您。
【问题讨论】:
-
我也看过下面的链接但我什么都看不懂:stackoverflow.com/questions/20250061/…
-
您无法从库中加载库中的视图,只需返回 $is_logged_in 并在控制器中进行思考时使用它。
-
不确定这是否有帮助,但是您的控制器和库共享相同的名称,您是否尝试过更改控制器名称?尝试加载这些类时可能会混淆系统
-
你的函数被命名为“cheker”而不是“checker”...
-
感谢您的指导,我不再收到任何错误,但结果是空白页。你能告诉我如何将 $is_logged_in 传递给控制器吗?
标签: codeigniter autoload