Php 代码点火器+;zend条码类
我通过在应用程序/库上放置Zend目录来集成Zend_条形码类 在我的控制器下:Php 代码点火器+;zend条码类,php,codeigniter,zend-framework,codeigniter-2,barcode,Php,Codeigniter,Zend Framework,Codeigniter 2,Barcode,我通过在应用程序/库上放置Zend目录来集成Zend_条形码类 在我的控制器下: public function barcode_gen() { $this->load->library('Zend/Barcode/Barcode'); $barcodeOptions = array('text' => 'ZEND-FRAMEWORK'); $rendererOptions = array(); Zend_Barcode::factory
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
我也读过很多教程,但从来没有弄明白怎么做,有些教程已经过时了
即使我遵循这个线程,也没有运气。当您使用$this->load->library()加载外部类时,Codeigniter会将该类的实例放在名为“加载的类”的变量中,因此您需要以这种方式访问 由于您随后将以静态方式调用它,因此我建议删除CI loader方法,只包含类:
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();
}
请注意,Damien Pirsy(以及其他类似or的人)的代码是针对Zend版本1而不是版本2的。 如果下载版本2,则会出现
致命错误:找不到类“Zend_Barcode”
我想它可能也会帮助其他人。我也有同样的问题,这就是我所做的使它工作的事情(我使用的是CI2和ZF2)。首先,集成CI2和ZF2。并在my 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();
}
这个怎么样?
zend条形码库位于第三方文件夹下
function gen_barcode($product_code = NULL, $bcs = 'code39', $height = 60, $text = 1) {
$drawText = ($text != 1) ? FALSE : TRUE;
$this->load->library('zend');
$this->zend->load('Zend/Barcode');
$barcodeOptions = array('text' => $product_code, 'barHeight' => $height, 'drawText' => $drawText);
$rendererOptions = array('imageType' => 'png', 'horizontalPosition' => 'center', 'verticalPosition' => 'middle');
$imageResource = Zend_Barcode::render($bcs, 'image', $barcodeOptions, $rendererOptions);
return $imageResource;
}
函数gen\u条形码($product\u code=NULL,$bcs='code39',$height=60,$text=1){
$drawText=($text!=1)?FALSE:TRUE;
$this->load->library('zend');
$this->zend->load('zend/Barcode');
$barcodeOptions=array('text'=>$product\U code,'barHeight'=>$height,'drawText'=>$drawText);
$renderoptions=array('imageType'=>'png','horizontalPosition'=>'center','verticalPosition'=>'middle');
$imageResource=Zend_Barcode::render($bcs,'image',$barcodeOptions,$RenderOptions);
返回$imageResource;
}
这也不起作用,它只会返回此错误
致命错误:找不到类“Zend_Barcode”…
PasteBin我看到类名是Barcode,请使用Barcode::factory()
谢谢您的回复,但也没有。这真的让我很困惑。如何以pdf格式打印条形码,你有什么解决方案吗?我发现致命错误:找不到类“Zend\barcode\ObjectPluginManager”
。请问您使用的是什么版本?Zendf2.2?我完全遵循了你写的内容,包括你发布的链接。我使用的是ZF 2.1.4,我用ZF 2.2.1替换了我的ZF,它仍然有效,也许我错过了编写一些步骤,让我检查一下,我刚刚意识到我使用的是HMVC体系结构,并且Loader类能够从Zend加载必要的文件。我甚至不必使用Zend加载语句(barcode_gen函数的第1行和第2行)谢谢,我已经解决了这个问题