2013-03-11 1 views
0

Я использую Zend Loader от here в моем проекте, и я не могу настроить автозагрузчик Zend для DOMPDF, работая параллельно с автозагрузчиком dompdf. Есть ли способ установить zend autoload для настройки таким образом, чтобы он возвращался к dompdf auotloader.Проблема с автозагрузкой ZF2 и DOMPDF

Я вижу некоторые примеры использования pushAutoLoader например, но кажется, что его использование Zend более старая версия (ст <-наверное)

require_once('dompdf/dompdf_config.inc.php'); 
    $autoloader = Zend_Loader_Autoloader::getInstance(); 
    $autoloader->pushAutoloader('DOMPDF_autoload', ''); 

Что является альтернативой pushAutoloader(), в ZF2 Loader? Я не вижу такого метода прямо сейчас.

Еще одна вещь, которую я не могу использовать 'fallback_autoloader' => true, вариант, как я использую PHP 5.3.1, который дает мне ошибку:

`Call to undefined function Zend\Loader\stream_resolve_include_path()` 

Как кажется stream_resolve_include_path() добавлен в PHP 5.3.2

ответ

0

Это кажется быть незначительные глюк, только что обнаружил, что файл конфигурации DOMPDF использует устаревший способ зарегистрировать свой автозагрузчик Е.Г.

if (!function_exists("__autoload")) { 
    /** 
    * Default __autoload() function 
    * 
    * @param string $class 
    */ 
    function __autoload($class) { 
    DOMPDF_autoload($class); 
    } 
} 

и исправление будет дзю го использование spl_autoload_register BCZ php spl_autoload_register vs __autoload? и заменить приведенный выше код только с одной строкой, с незначительным обновлением к функции автозагрузки

function DOMPDF_autoload($class) { 
    //don't check for namespaced files/classes 
    if(strpos($class, "\\") > 0) return; 

    if($class=='UFPDF') return ; 

    $filename = mb_strtolower($class) . ".cls.php"; 

    require(DOMPDF_INC_DIR . "/$filename"); 
} 

spl_autoload_register('DOMPDF_autoload'); 

ура :)

+0

DOMPDF больше не использует этот метод, чтобы зарегистрировать его автозагрузчик. В 0.6.0 функциональность автозагрузки была значительно улучшена. Выпуск 0.6.0 по-прежнему отмечен как бета-версия, но он так же стабилен, как и предыдущий релиз (0.5.1), и мы настоятельно рекомендуем вам попробовать. https://github.com/dompdf/dompdf – BrianS

+0

@BrianS спасибо, я обязательно обновлю себя :) – sakhunzai