如何在Codeigniter中使用第三方类

时间:2018-08-29 19:34:39

标签: php codeigniter

所以我必须要放屁,需要一只手。我正在尝试在Codeigniter项目中使用BoxPacker来确定我可以在某些盒子中容纳多少物品。我已经将BoxPacker安装到“ application / third_party / boxpacker”文件夹中。但是现在我该如何使用呢?

出于某种原因,我的大脑告诉我必须创建自己的库才能与第三方编程进行交互,但是后来我又有了另一种想法,不知道如何实现它。这已经是一个漫长的一周,所以我已经精疲力尽,正在寻找帮助。

编辑: 因此,我使用以下代码创建了一个名为BoxPacker.php的库:

class BoxPacker
{
    function __construct()
    {
        require_once APPPATH."third_party/boxpacker/vendor/autoload.php";
    }
}

然后在我的控制器中致电:

$this->load->library('BoxPacker'); $packer = new BoxPacker();

但是当我尝试使用如下所示的第三方代码中的函数时,出现以下错误Exception: Call to undefined method BoxPacker::addBox()

$packer->addBox(new TestBox('Le petite box', 300, 300, 10, 10, 296, 296, 8, 1000));

1 个答案:

答案 0 :(得分:0)

除了在您的application/third_party目录中安装第三方库之外,您还必须在application/libraries中创建一个新库,该库需要第三方代码并像这样扩展它:

Application / libraries / Yourlib.php:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    // include the 3rd party class
    require_once APPPATH."/third_party/class_name/filename.php";

    // Extend the class so you inherit all functions, etc.
    class NewClass extends ThirdPartyClass {
        public function __construct() {
            parent::__construct();
        }
        // library functions
        public function something(){
            ...code...
       }

然后,您必须在控制器上使用以下命令加载新库:

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

完成此操作后,您可以像往常一样$this->yourlib

相关问题