所以我必须要放屁,需要一只手。我正在尝试在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));
答案 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