0

私はgiiでYiiフレームワーク用の2つのモジュールを作成します。各モジュールは、「DefaultController」と呼ばれる独自のデフォルトコントローラークラスを作成します。

しかし、私はそれが間違っていると思います。Zendフレームワークのように「Module1_DefaultController」と「Module2_DefaultController」である必要があると思います。

これは本当ですか?もしそうなら、どのようにコントローラーの名前を変更しますか?

4

3 に答える 3

1

DefaultControllerを呼び出すと、単に呼び出されますyoursite/yourmodule。動作させるために名前を変更する必要はありません。

コントローラの名前を変更しない理由は、サイト/モジュールに移動するときに実際にコントローラ自体を呼び出していないためです。モジュールルートに移動し、デフォルトのコントローラーを取得します。そのため、 config内でモジュールを定義する必要があります。Yiiに、コントローラーではなくモジュールを探す必要があることを知らせます。

もちろん、このモジュール内にさらに多くのコントローラーを作成できます。

于 2011-07-14T15:32:44.290 に答える
1

そのモジュールから何らかのアクションを要求しない限り、クラスDefaultControllerのファイルはYiiに含まれません。これにより、2つのモジュールアクションを同時に呼び出すことができないため(これは設計によるものです)、重複するクラス名エラー(おそらくあなたが疑うと思います)を防ぐことができます。

于 2011-07-14T18:24:47.337 に答える
0

Yiiによって作成されたDefaultControllerは、別のモジュールまたはクラスからインポートするときにJavaのパッケージのようにインポートするため、間違いではありません。こんな感じになります

Yii::import('application.modules.module1.controllers.DefaultController');

YiiはとのデザインがJavaに似ていたと思いpackageますclass

于 2011-07-15T02:50:51.407 に答える