3

ZF 1.7 から ZF 1.9 にアップグレードしたばかりですが、オートローダーを除いて、ほとんどすべてが正常に動作します。

年:

require_once('Zend/Loader.php');  
Zend_Loader::registerAutoload();

新しい:

require_once 'Zend/Loader/Autoloader.php';  
$loader = Zend_Loader_Autoloader::getInstance();  
$loader->registerNamespace('MySiteName_');
$loader->setFallbackAutoloader(true);

自動ロードする必要があるファイルは、ほとんど名前空間がありません (事前名前空間による大きなプロジェクトであるため)。これらは次のディレクトリにあります。

  • /アプリケーション/コントローラー
  • /共通/モデル
  • /図書館
  • /ベンダー

/library/Form.php が見つからないことを除いて、サイトは正常に動作
しているようです。以前はできていましたが、もうできません。require_once 'library/Form.php' を追加すると機能しますが、それは必要ないはずです。また、いくつかの場所でそれを開始すると、オートローダーを放棄してハードコードする必要があるのではないかと心配しています。すべて含まれています。「setFallbackAutoloader(true)」を追加し、インクルード パスに「library」を含めると修正されると考えましたが、修正されませんでした。

私のインクルードパスは次の とおり です
。/lofye/Documents/htdocs/mysitename/library :/Users/lofye/Documents/htdocs/mysitename



どんな助けでも大歓迎です!

4

3 に答える 3

1

オートローダーは、で始まるクラスのみをロードしようとしMySiteName_ます。Form名前空間として追加してみてください。

$loader->registerNamespace('Form');
于 2009-12-12T05:24:22.253 に答える
0

あなたはこれをすればそれがうまくいくと言いました:

require_once 'library/Form.php';

ただし、ライブラリパスが含まれている場合は、オートローダーと同様に、次のように指定する必要があります。

require_once 'Form.php';

require_once'Form.php';と入力してみてください。スクリプトに。爆弾ですか?次に、インクルードパスに/ libraryがないため、修正する必要があります。

于 2009-12-09T14:15:33.320 に答える
0

ファイル内のクラス名library/Form.phpForm. クラス名は?

私はここでテストし、正常に動作しています。

于 2009-12-09T16:18:07.707 に答える