2013-07-02 1 views
1

문제점 : Zend 라이브러리 바코드를 통해 CodeIgniter의 바코드 렌더링.CodeIgniter 2 + Zend 2 라이브러리 바코드

나는 인터넷 검색을하고, 처음 2 페이지에서 모든 튜토리얼을 시도했다. 나는 stackoverflowed 내 문제에 대한 몇 가지 주제를 조용한 발견, 심지어 몇 답변했지만 운이 표시됩니다.

마지막으로 나는이 https://stackoverflow.com/a/15480779/1564365을 시도했지만 또 다른 오류 메시지가 표시됩니다.

오류 : 실제로 바코드 라이브러리를로드했지만 오류가 의미

Fatal error: Class 'Zend\Barcode\ObjectPluginManager' not found

.

(!) 참고 : ZF 2.2 신선한 다운로드 (오늘), CI 2.1.3 신선한 다운로드 (오늘)

답변

2

이 문제를 해결하기 위해, 나는 ZF1를 사용하도록 강요하고있다. 단계별로 단계 : here에서

  1. 다운로드 (젠드 프레임 워크 1.12.3 전체)
  2. 압축 해제 파일과 ./libraries 폴더에 폴더 Zend을 찾을 수는 application/libraries
  3. 것은 내부에 새로운 파일 (CI) application/libraries/Zend.php 만들기 CI에 복사

    <?php if (!defined('BASEPATH')) {exit('No direct script access allowed');} 
    
    /** 
    * Zend Framework Loader 
    * 
    * Put the 'Zend' folder (unpacked from the Zend Framework package, under 'Library') 
    * in CI installation's 'application/libraries' folder 
    * You can put it elsewhere but remember to alter the script accordingly 
    * 
    * Usage: 
    * 1) $this->load->library('zend', 'Zend/Package/Name'); 
    * or 
    * 2) $this->load->library('zend'); 
    *  then $this->zend->load('Zend/Package/Name'); 
    * 
    * * the second usage is useful for autoloading the Zend Framework library 
    * * Zend/Package/Name does not need the '.php' at the end 
    */ 
    class CI_Zend 
    { 
        /** 
        * Constructor 
        * 
        * @param string $class class name 
        */ 
        function __construct($class = NULL) 
        { 
         // include path for Zend Framework 
         // alter it accordingly if you have put the 'Zend' folder elsewhere 
         ini_set('include_path', 
         ini_get('include_path') . PATH_SEPARATOR . APPPATH . 'libraries'); 
    
         if ($class) 
         { 
          require_once (string) $class . EXT; 
          log_message('debug', "Zend Class $class Loaded"); 
         } 
         else 
         { 
          log_message('debug', "Zend Class Initialized"); 
         } 
        } 
    
        /** 
        * Zend Class Loader 
        * 
        * @param string $class class name 
        */ 
        function load($class) 
        { 
         require_once (string) $class . EXT; 
         log_message('debug', "Zend Class $class Loaded"); 
        } 
    } 
    
    을 다음과 같이 코드를

을 "ZF에 대한 및 로더"

및 컨트롤러 방법은 다음과 같아야합니다.

function barcode() { 
    $this->load->library('zend'); 
    $this->zend->load('Zend/Barcode'); 
    $test = Zend_Barcode::draw('ean8', 'image', array('text' => '1234565'), array()); 
    var_dump($test); 
    imagejpeg($test, 'barcode.jpg', 100); 
}