0

プロジェクトでここから Zend ローダーを使用していますが、dompdf オートローダーと並行して動作する DOMPDF 用に Zend オートローダーを構成できません。dompdf auotloader にフォールバックするように zend autoload を設定する方法はありますか。

たとえば、pushAutoLoader を使用する例がいくつかありますが、それは古いバージョンの Zend を使用しているようです (v < 2 おそらく)

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

ZF2 Loader の pushAutoloader() に代わるものは何ですか? 現在、そのような方法は見当たりません。

'fallback_autoloader' => true,エラーが発生するphp 5.3.1を使用しているため、オプションを使用できないもう1つのこと:

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

stream_resolve_include_path()php 5.3.2で追加されたようです

4

1 に答える 1

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 と__autoloadを使用するだけですか? 上記のコードを 1 行だけに置き換え、オートロード機能をマイナー アップデートします。

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

乾杯 :)

于 2013-03-11T08:43:48.687 に答える