2

クラス拡張を作成し、Zend_Controller_Actionいくつかのユーザー定義メソッドを追加しました。これは、任意のコントローラーからアクセスできます。

Zend ツールを使用して新しいアクションを作成するまでは、すべて正常に動作しています。今回は Zend ツールが拡張クラスを見つけられないためです。

エラーメッセージ:

致命的なエラー: クラス 'CMS_Zend_Controller_Action' が見つかりません....

それは、拡張するクラスでZend_Controller_Actionあり、 のような他のコントローラーによって拡張されるクラスindexControllerです。

クラスを検出可能にする方法。クラスのように、すべてのフォルダーを含める必要がありますか? ゼンドはそれをしますか?私はそうは思わない。それはどのように行うのですか?

4

2 に答える 2

0

ここであなたがしようとしていることは、Zend_Tool の目的ではないと思います。

あなたの質問とセットアップを理解している限り、ライブラリにクラスを作成しました。もちろん、Zend_Controller_Action を拡張して、独自のライブラリに独自のクラスをたくさん追加することもできます (私もそうしています)。このようなクラスにアクションを追加するのは珍しいかもしれませんが、特定の理由から Zend_Tool にとっては問題です。

Zend_Tool は、 のようなよく知られた構造に関するものにすぎないと私は信じてい/applicationます/modules。コントローラ クラスを作成すると、Zend_Tool は必要なフォルダ構造を/applicationまたは/modulesフォルダに追加するなどの作業を行います。ビューファイルを必要とするアクションメソッドと同じです。ライブラリにコントローラー クラスを配置することは、それらすべてを必要としない (すべきではない) ため、Zend_Tool に組み込まれません。ライブラリで作成したクラスは、Zend_Tool ではサポートされていないと思います。

于 2011-07-20T15:13:24.407 に答える
0

単純。:-p コア コントローラーが見つかった場合は、拡張コントローラーへのパスを含めるだけです。

http://php.net/manual/en/function.set-include-path.php

set_include_path(path_to_your_extended_classes)あなたのindex.php、別名ルートファイルで。

于 2011-07-19T14:08:57.590 に答える