0

我通过将Zend目录放在application/libraries上来集成 Zend_Barcode 类。

在我的控制器下:

  public function barcode_gen()
  {
    $this->load->library('Zend/Barcode/Barcode');
    $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
    $rendererOptions = array();
    Zend_Barcode::factory('code39', 'image', $barcodeOptions, $rendererOptions)->render();
  }

但是,这会导致:

Non-existent class: Barcode

我也阅读了很多教程,但从未弄清楚如何去做,有些 tuts 已经过时了。

即使我在CI 论坛上关注了这个帖子,也没有运气。

4

4 回答 4

1

我遇到了同样的问题,这就是我为使其正常工作所做的(我使用的是 CI2 和 ZF2)。首先,集成 CI2 和 ZF2,参见这个例子。并在我的barcode_gen 函数中包含Zend Barcode 命名空间

function barcode_gen() {
    $this->load->library('Zend');
    $this->zend->load('Zend/Barcode/Barcode');

    $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
    $rendererOptions = array();
    \Zend\Barcode\Barcode::factory('code39', 'image', $barcodeOptions, $rendererOptions)->render();
}

--
更新
我正在使用 HMVC 架构,并且 Loader 类能够从 Zend 加载必要的文件,这是我的barcode_gen

function barcode_gen() {
    $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
    $rendererOptions = array();
    \Zend\Barcode\Barcode::factory('code39', 'image', $barcodeOptions, $rendererOptions)->render();
}
于 2013-03-18T15:37:34.530 回答
0

当您使用 $this->load->library() Codeigniter 加载外部类时,Codeigniter 将类的实例放在一个名为加载的类的变量中,因此您需要以这种方式访问

由于您随后将静态调用它,因此我建议删除 CI 加载器方法并简单地包含该类:

public function barcode_gen()
{
   require_once('./application/libraries/Zend/Barcode/Barcode.php');
   //adjust the above path to the correct location
    $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
    $rendererOptions = array();
   Zend_Barcode::factory('code39', 'image', $barcodeOptions, $rendererOptions)->render();
}
于 2012-11-06T06:31:16.180 回答
0

只是提到 Damien Pirsy 的代码(以及其他类似的代码在这里这里)是针对 Zend 版本 1 而不是版本 2。如果您下载版本 2,那么您最终会得到 Fatal error: Class 'Zend_Barcode' not found

我认为它也可能对其他人有所帮助。

于 2012-12-10T16:26:03.150 回答
0

这个怎么样?zend条码库在第三方文件夹下

功能 gen_barcode($product_code = NULL, $bcs = 'code39', $height = 60, $text = 1) {
        $drawText = ($text != 1) ?错误:正确;
        $this->load->library('zend');
        $this->zend->load('Zend/条形码');
        $barcodeOptions = array('text' => $product_code, 'barHeight' => $height, 'drawText' => $drawText);
        $rendererOptions = array('imageType' => 'png', 'horizo​​ntalPosition' => 'center', 'verticalPosition' => 'middle');
        $imageResource = Zend_Barcode::render($bcs, 'image', $barcodeOptions, $rendererOptions);
        返回 $imageResource;

    }
于 2016-01-05T21:56:41.047 回答