0

我正在使用本机会话库来替换 CI 中的内置会话库。我需要扩展类,但是当我加入 MY_Session.php 时,CI 会恢复到旧的 /system/libraries/Session.php。

如何扩展一个替换了像 Session.php 这样的核心 CI 类的类?

4

1 回答 1

1

只需将您的类文件命名为与本机库相同的名称,就会导致 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

于 2012-05-18T07:30:46.200 回答