私はgiiでYiiフレームワーク用の2つのモジュールを作成します。各モジュールは、「DefaultController」と呼ばれる独自のデフォルトコントローラークラスを作成します。
しかし、私はそれが間違っていると思います。Zendフレームワークのように「Module1_DefaultController」と「Module2_DefaultController」である必要があると思います。
これは本当ですか?もしそうなら、どのようにコントローラーの名前を変更しますか?
DefaultController
を呼び出すと、単に呼び出されますyoursite/yourmodule
。動作させるために名前を変更する必要はありません。
コントローラの名前を変更しない理由は、サイト/モジュールに移動するときに実際にコントローラ自体を呼び出していないためです。モジュールルートに移動し、デフォルトのコントローラーを取得します。そのため、 config内でモジュールを定義する必要があります。Yiiに、コントローラーではなくモジュールを探す必要があることを知らせます。
もちろん、このモジュール内にさらに多くのコントローラーを作成できます。
そのモジュールから何らかのアクションを要求しない限り、クラスDefaultControllerのファイルはYiiに含まれません。これにより、2つのモジュールアクションを同時に呼び出すことができないため(これは設計によるものです)、重複するクラス名エラー(おそらくあなたが疑うと思います)を防ぐことができます。
Yiiによって作成されたDefaultControllerは、別のモジュールまたはクラスからインポートするときにJavaのパッケージのようにインポートするため、間違いではありません。こんな感じになります
Yii::import('application.modules.module1.controllers.DefaultController');
YiiはとのデザインがJavaに似ていたと思いpackage
ますclass
。