Штрих-код библиотеки CodeIgniter 2 + Zend 2

Проблема: отображение штрихкодов в CodeIgniter с помощью штрих-кода библиотеки Zend.

Я googled, а также пробовал все учебники на первых 2 страницах. Я stackoverflowed и нашел несколько вопросов по моей проблеме, даже немногие отмечены как ответ, но не повезло.

Наконец, я попробовал это https://stackoverflow.com/a/15480779/1564365, но еще одно сообщение об ошибке.

ошибка:

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

это означает, что он фактически загружает библиотеку штрих-кодов, но с ошибкой.

sidenote : ZF 2.2 fresh download (сегодня), CI 2.1.3 скачать (сегодня)

Чтобы решить эту проблему, я вынужден использовать ZF1. шаг за шагом:

  1. Загрузить (Zend Framework 1.12.3 Full) отсюда
  2. Разархивируйте файлы и найдите папку Zend в ./libraries скопируйте ее в application/libraries CI
  3. Создать новый файл внутри (CI) application/libraries/Zend.php "загрузчик для ZF"

с кодом следующим образом

 <?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"); } } 

и контроллеры должны быть следующими

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