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

私もたくさんのチュートリアルを読みましたが、その方法がわからなかったので、いくつかのチュートリアルはかなり時代遅れです。

CIフォーラムでこのスレッドをフォローしたとしても、運がありません。

4

4 に答える 4

1

私は同じ問題を抱えていました、そしてこれは私がそれを機能させるためにしたことです(私はCI2とZF2を使用しています)。まず、CI2とZF2を統合します。この例を参照してください。そして、私のbarcode_gen関数にZendBarcode名前空間を含めます

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();
}

--UPDATE 私はこれから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は、ロードされたクラスのような名前の変数にクラスのインスタンスを配置するため、その方法でアクセスする必要があります

代わりに静的に呼び出しているので、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バーコードライブラリはサードパーティフォルダの下にあります

function gen_barcode($ product_code = NULL、$ bcs ='code39'、$ height = 60、$ text = 1){
        $ drawText =($ text!= 1)?真偽;
        $ this-> load-> library('zend');
        $ this-> zend-> load('Zend / Barcode');
        $ 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 に答える