私はcodeigniterの初心者であり、読み込まれたカスタムライブラリを作成しようとしています。私は 'check_login'というコントローラでウェブサイトを起動するようにCIを設定しました。このファイルの 内容は以下のとおりです。codeigniterカスタムライブラリがロードされない
<?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 ライブラリが読み込まれない原因と、$ thisの代わりにget_instance();
を使用する必要がある場合を知りたいと思います。事前にどうもありがとうございました。
私は以下のリンクも見ましたが、私は何も理解できません:http://stackoverflow.com/questions/20250061/codeigniter-custom-library-not-loading – Tower
ライブラリからライブラリのビューを読み込むことができません$ is_logged_inを返すだけで、あなたのコントローラーの場合はこれを使用してください。 –
これが役立つかもしれませんが、コントローラとライブラリが同じ名前を共有しているかどうかわかりません。コントローラ名を変更しようとしましたか?これらのクラスをロードしようとするとシステムを混乱させる可能性があります。 –