0

ファイル/CodeIgniter/application/helpers/ajax_helper.phpを作成したばかりで、その関数を使用したいので、次を使用しCodeIgniter/application/controllers/Ajax.phpます。

function __construct(){
    parent::__construct();
    if((bool)$this->session->userdata('logged_in'))
        $this->load->helper('ajax');
    else
        return FALSE;
}

しかし、エラーが発生しました:

要求されたファイルを読み込めません: helpers/ajax_helper.php

なにが問題ですか?

4

2 に答える 2

1

CodeIgniter に組み込みの同名ヘルパー (ajax_helper) がある場合にのみ、"MY_" プレフィックスを使用できます。ファイル名「my_ajax_helper.php」を「ajax_helper.php」に変更してご利用ください$this->load->helper('ajax');

「MY_」プレフィックスは、CI の組み込みのコア ヘルパーを拡張するためにのみ$this->load->helper('url');使用されます(コントローラー、モデルなどで同じルール) 'my_url'。このプレフィックスを持つ独自のヘルパー。

更新: おっと、申し訳ありませんが、私の答えが間違っている可能性があります。CI は、私のテストで 'my_ajax' を使用してカスタム ヘルパーを読み込むことができました。おそらく別のおそらく理由は、ファイル/フォルダーのアクセス許可ですか?

更新: CI のコードを確認したところ、file_exists() が false を返す場合にのみこのメッセージが出力されることがわかりました。これは、ヘルパー ファイルが存在しないことを意味します。そのため、問題は ajax_helper.php のファイル名、パス、または大文字と小文字が原因である可能性があります。

于 2013-01-20T17:31:12.677 に答える
0

ヘルパー「ajax」は codeigniter のシステムには存在しないため、最初にファイル名を のようajax_helper.phpに変更し、次に を使用します。

 function __construct(){
parent::__construct();
if((bool)$this->session->userdata('logged_in'))
    $this->load->helper('ajax_helper');

else
    return FALSE;
}
于 2013-01-20T13:09:51.747 に答える