0

CI の組み込みセッション ライブラリを置き換えるために、ネイティブ セッション ライブラリを使用しています。クラスを拡張する必要がありますが、MY_Session.php をドロップすると、CI は古い /system/libraries/Session.php に戻ります。

Session.php のようなコア CI クラスを置き換えたクラスを拡張するにはどうすればよいですか?

4

1 に答える 1

1

クラス ファイルにネイティブ ライブラリと同じ名前を付けるだけで、CodeIgniter はネイティブ ライブラリの代わりにそれを使用します。この機能を使用するには、ファイルとクラス宣言にネイティブ ライブラリとまったく同じ名前を付ける必要があります。たとえば、ネイティブの Email ライブラリを置き換えるには、application/libraries/Email.php という名前のファイルを作成します。

-ユーザーガイド

それからそれを呼び出します

class MY_Email extends CI_Email {

    public function __construct()
    {
        parent::__construct();
    }
}

サブクラスのロード:

$this->load->library('email');

編集 これを試してください:

新しいライブラリ (拡張を行っているもの) をロードするだけです:

次に、Session.php と Mysession.php があるとします。

<?php
load_class('session', false);

class Mysession extends Session {
   //your code
}  

MY_ name タグはまだ必要ありません。混乱を避けるために、当初の意図された目的のためにそれを予約したいと思います。

..それ以外の場合は、 include() または require() を使用してください:P

于 2012-05-18T07:30:46.200 に答える