我正在使用本机会话库来替换 CI 中的内置会话库。我需要扩展类,但是当我加入 MY_Session.php 时,CI 会恢复到旧的 /system/libraries/Session.php。
如何扩展一个替换了像 Session.php 这样的核心 CI 类的类?
我正在使用本机会话库来替换 CI 中的内置会话库。我需要扩展类,但是当我加入 MY_Session.php 时,CI 会恢复到旧的 /system/libraries/Session.php。
如何扩展一个替换了像 Session.php 这样的核心 CI 类的类?
只需将您的类文件命名为与本机库相同的名称,就会导致 CodeIgniter 使用它而不是本机库。要使用此功能,您必须将文件和类声明命名为与本机库完全相同。例如,要替换本机电子邮件库,您将创建一个名为 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_ 名称标签,我认为您想保留它的原始预期目的以避免混淆。
.. 否则只需使用 include() 或 require() :P