問題タブ [zend-autoloader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
4162 参照

forms - Zendモジュールのオートローダーでフォームが見つかりませんか?

Zendのオートローダーにかなりうんざりしています。

以下に示すように、モジュール構造EditPassword内からロードしようとしています。PasswordController

プロジェクト構造

application.ini

Bootstrap.php:

私は次のようにコントローラーにフォームをロードしています:

エラー自体は次のとおりです。

私は何が間違っているのですか?Zendの他のすべては、かなり正常なデフォルトで実行されているようです-デフォルトのZend構造に従っていて、デフォルトのモジュールディレクトリにある場合、各モジュールのフォーム/モデル/ビューヘルパーへのすべてのパスを宣言する必要がありますか?

0 投票する
2 に答える
606 参照

php - Zend Autoloader - ディレクトリからファイルをロードする

Zend Autoloader を使用して、特定のディレクトリとサブディレクトリからすべてのファイルをロードする方法があるかどうか疑問に思っていましたか?
JSTree などの Zend 以外のライブラリを含めようとしています。

0 投票する
2 に答える
1777 参照

php - 存在しないクラスが存在する場合、zend オートローダーのテストでエラーが発生するのはなぜですか?

私が書いたいくつかのクラスの構成ファイルに追加の名前空間「Tracker_」を登録したとします。

エラー処理をテストしているときを除いて、この名前空間とオートローダーの機能は期待どおりに機能します。存在しないクラスが存在するかどうかをテストするとき、

例外をスローします

一方、同じ class_exists 関数は、テストした他のすべてのケースで機能します。

私は何か間違ったことをしていますか?

0 投票する
1 に答える
236 参照

zend-framework - zend autoloader error messages

I am using this autoloader to load multiple external libraries in my zend app. The classes are loaded correctly and works fine. But i seem to have an issue while loading classes using multiple such autoloaders. The problem is that after finding the class in one of the autoloaders, zend continues searching in other loaders hence producing the following error message from autoloaders except from the one they are defined in.

Notice: Undefined index: myClassFile in /var/www/myApp/application/loaders/Autoloader/PhpThumb.php on line 21

where myClassFile is defined in another loader and loading/working fine, but it still continues to searching in this second autoloader where its not defined.

Any idea what i am missing ?


Update: my bootstrap file:

and later to use it:

which seem to work fine but throws error.

0 投票する
2 に答える
131 参照

php - Zend_Loader_Autoload_Module がモジュール クラスをロードしない

私の間違い-エラーメッセージを正しく読んでいませんでした- 「ヘッダーは既に送信されました」という例外を引き起こしていたブートストラップをまだ実行していましたvar_dumpZend_Loader_Autoload出力をデバッグせずに試すことを忘れないでください!

次のディレクトリ構造を持つ ZF 1.11.11 で実行されているモジュラー アプリケーションがあります。

関連するapplication.ini宣言:

基本的に私の問題は、マネージャーモジュールのコントローラーがforms/マネージャーディレクトリのディレクトリにフォームをロードできないことです。var_dumpingZend_Loader_Autoloader::getInstance()は、すべてのマップが定義されていることを示し (ただし、ではなくApplication_間違った場所に)、 に対して定義されているマップはありません。/application/defaultManager_

私を混乱させているのはmanager/、モジュールが検出されたことを意味する Bootstrap.php がロードされていることです。このブートストラップは単純に拡張しZend_Application_Module_Bootstrapます。

ここで見逃している不可解な構成値はありますか? これに関するドキュメントはかなりまばらなようです(これについての詳細な説明も大好きです)。

0 投票する
1 に答える
756 参照

zend-framework - Doctrine 2 オートローディング

Doctrine 2 と Zend でオートロードを設定して、次のディレクトリ構造にエンティティをロードする方法:

{ModuleName}\Entities{EntityName} を使用してクラスをロードできるようにしたいと考えています。たとえば、「ユーザー」エンティティをロードするためにこれを実行できるようにしたいと考えています。

または「ページ」エンティティの場合は次のようになります。

「CMS\Models\Entities\Pages」をロードするように設定することはできますが、ディレクトリ構造に直接マップすることなくロードする方法を知りたいです。これは可能ですか?

0 投票する
2 に答える
3624 参照

php - Zend Framework の既存のコントローラー クラスからコントローラーを拡張する

おはようございます、私は古典的なアプリケーションを持っています。ArticleController を UserController から拡張したいと思いますが、試してみると

また

Fatal error: class ... not found... Zend Framework でコントローラを別のコントローラから拡張するにはどうすればよいですか?

0 投票する
2 に答える
418 参照

php - Zend_Loader_Autoloader を効率的に置き換えるには?

パフォーマンスの問題 (ベンチマーク済み) のため、デフォルトの Zend_Loader_Autoloader 以外のオートローダーを使用しようとしています。

を使用して、別の方法を試しました:

Autoloader は Zend Framework のほとんどのコンポーネントと密接に関連しているため、「削除」することはできません。

Xdebug を段階的にデバッグしたところ、オートローダーは次のように動作するようです。

1) getInstance 2) 呼び出されたクラス ルートが既知の名前空間であるかどうか、およびその名前空間にオートローダーが存在するかどうかを確認します 3) 名前空間のないオートローダーをスタックに置きます 4) 有効な in が見つかるまで、各オートローダーでオートローダーを試します。

ただし、私の場合、オートローダーはすでにこれを行っています (私は classMap 戦略で Opl オートローダーを使用しています)、名前空間をそれぞれのパスに登録しています。

したがって、すべての Zend チェックをバイパスしてルックアップの最初の段階でオートローダーを使用したいので、少しオーバーヘッドがあるように見えます。

それを改善するためのアイデアはありますか?Zend Framework プロジェクト内で Zend_Loader_Autoloader を使用して、カスタム (およびパフォーマンスの高い) オートローダーを効率的に使用するにはどうすればよいですか?

0 投票する
3 に答える
447 参照

zend-framework - zendコントローラーでシングルトンクラス(プライベートコンストラクター)を自動ロードする方法は?

モデル ディレクトリにシングルトン クラスがあり、その関数を Controller クラスで使用する必要があります。require_once('file path'); でそれを行う ClassName::FunctionName() としての関数の呼び出しは正常に機能しますが、require_once を介してクラスを含める代わりに Zend Autoloader を使用する必要があります。ここで、次のコードを追加するという点でbootstrap.phpを使用するstackoverflowで多くのソリューションに出くわしましたが、require_once('file path');と同じことをしているようです。コントローラーでやった

このようにすると、致命的なエラーが発生します: クラス 'ClassName' が {行番号} の {パス}\controllers\SampleController.php に見つかりません。

0 投票する
1 に答える
479 参照

php - PHP を CGI として共有ホスティングする Zend Framework

助けを求めるこの状況に至る前に、私はたくさん読んでいます。私もホスティング会社と話し合って助けを求めましたが、彼らの技術サポートは私と同じくらい知識が豊富でした.

共有ホストに Zend Framework をインストールする方法について書いている多くの人がそうであるように、私もオートロードとクラス検索に深刻な問題を抱えています。

私はphp.ini、.htaccess(明らか)、ルートディレクトリ、およびパブリックディレクトリ(もちろん)にアクセスできます。

私のインストールの構造は次のとおりです。

つまり、標準の Zend レイアウトを使用します (Zend Tools による)。だから私はパブリックエリアの上にすべてをインストールしました、そしてパブリックのすべてのコンテンツは誰でもアクセスできるサーバーにあります。

私のローカルサーバーでは、すべてが完全に機能しています。webroot 内のフォルダーから実行され、すべて問題ありません。

本番サーバーでは PHP が CGI としてインストールされており、問題が発生している可能性があります。まず、SetEnv が機能しなくなりました。index.php のパスで何をしても、オートローダーは機能しません。

アプリを起動すると、ログインフォームが表示されます。オートローダーが機能しないため、フォームはカスタム クラスで作成された要素を見つけることができないため、次のメッセージが表示されます。

致命的なエラー: 32 行目の /home/sites/ttonline.com/application/forms/Login.php にクラス 'Model_Utils_FormElements' が見つかりません

require_once を配置すると (その解決策は必要ありません)、複合デコレーターが見つからないというエラーが表示されます。

システム全体が私のローカルホストで完全に機能しています...

誰かが状況に対する可能な解決策の入力/アイデアをくれれば幸いです.

どうも