扩展Codeigniter第三方库

时间:2014-01-24 02:17:48

标签: codeigniter

我正在查看与我的Codeigniter项目一起使用的不同邮件服务。 Among他们:Mandrill,Mailgun,Postmarkapp等。

在大多数情况下,已经有一个或多个Codeigniter库可用但是如果我想在它们上构建,制作更适合我的项目和CMS工作流程的更简单的方法,那么最好的方法是什么,而不必从头开始写整件事?

最好是创建一个扩展现有CI库的新类吗?然后包括这两个文件? / libraries / mailgun& /libraries/my_mailgun.php

2 个答案:

答案 0 :(得分:1)

我正在使用这种方法。

我在 / application / libraries 中创建一个名为my_ {project name}的类后,将外部库放在 / application / third_party 中。 在my_ {项目名称}中,我将require_once作为以下代码

require_once APPPATH."/third_party/projectname/main.php"; 

class Algumnome extends Project {
    public function __construct($arg1 = 'defaultValueToProject', $arg2 = 'defaultValueToProject'){
        parent::__construct($arg1, $arg2);
    }
}

我的控制器我将lib称为:

$this->load->library('algumnome');
$this->algumnome->method();

答案 1 :(得分:0)

你在这里肯定地回答了你自己的问题。

最好是创建一个扩展现有CI库的新类吗?然后包括这两个文件? / libraries / mailgun& /libraries/my_mailgun.php吗

是的,这是正确答案,这样您就可以添加新功能到现有库,而无需重新发明90%的轮子。

class My_lib extends stock_lib
{
  function newMethod1()
  {
  }
  function newMethod2()
  {
  }    
  function etc()
  {
  }
}

正如您已经提到的,这将允许您使用新函数以及父类的现有函数。

所以,我应该投票给你回答你自己的问题,这个回答只是你回答的重复。