URL 処理は実際に使用できますが、構成が混乱するため、大量のルートを使用する代わりに、カスタム URL ルール クラスを単純に記述します。
別の提案が必要な場合:
まず、アプリの作成と実行を分割します
require_once($yii);
Yii::createWebApplication($config);
// If you want to run the app:
Yii::app()->run();
そうすれば、アプリが実際に実行されるかどうかを完全に制御できます。
DBに関しては。PDO を使用している場合は、幸運です。通常の方法で Yii に db コンポーネントを与えてから、general.php を変更して、Yii の PDO インスタンスを使用します (Yii::app()->db->pdoInstance)。それは常に後でロードされるので、うまくいくはずです。PDO を使用していない場合は、2 つの接続を使用してください。多くの訪問者がいない限り、それほど悪くはありません。
セッションに関しては、初期化はそれほど多くないはずなので、カスタム ハンドラがない限り、それも Yii に移動してください。機能自体は同じなので特に問題はありません。
次に、私が見ているように、物事を行うには2つの方法があります。
1) general.php が最初に実行されます。
レガシー ファイルでモジュールのリストを作成し、現在要求されているモジュールが移行されたかどうかを判断する必要があります。基本的に、まだ general.php にあるモジュール名を配列に入れ、URL がそれらのいずれかを必要とするかどうかを確認し、general.php を含めます (Yii::app()->run() を実行しないでください)。残りは Yii を経由します。
2) Yii が先です。
yii に魔法をかけてもらいますが、404 http 例外をインターセプトします。これは、カスタム エラー ハンドラ関数 (http://www.yiiframework.com/doc/guide/1.1/en/topics.error) を使用して簡単に実行できます。エラー関数が再び表示される場合: 有効なレガシー モジュールであるかどうかを判断し、general.php を含めます。
どちらの方法もかなり厄介ですが、少なくともこのようにして、1 つのモジュールを移行し、残りをレガシー ファイルに残すことができます。