0

私は CodeIgniter 2.1.1 を使用しており、本番環境とテスト環境の 2 つの環境を使用して Web サイトを構築しています。基本的に、最初は両方の環境に同じプログラム ロジックがあります。しかし、今はいくつかの修正が必要です。

アイデアは、実稼働環境とテスト環境のコントローラーとモデルを共有することですが、両方の環境で異なるビューを持つことです。

WAMP をセットアップしました。WWW ディレクトリには、テスト用と本番用の 2 つの個別のフォルダーがあります。各フォルダの下に controller 、 models 、 view などがあります。CI が適切にポイントされ、ベース URL が設定されます。

私の質問は、テスト環境のコントローラーを呼び出すために Web ブラウザーに URL を入力すると、本番環境のコントローラーをリダイレクトして呼び出す必要があるということです。それは可能ですか?

4

2 に答える 2

1

リダイレクトしないでください。代わりにファイルを含めます。

このファイル構造があると仮定します:

www-root
 |-production
 |   |-application
 |   |   |-controllers
 |   |   |-etc.
 |   |-etc.
 |
 |-test
 |   |-application
 |   |   |-controllers
 |   |   |-etc.
 |   |-etc.
 |

両方の環境でまったく同じ名前のファイルを作成します。私controller.phpたちの例で言います。本番環境で、コーディングを行います。テスト環境に、次の行と次の行のみを含めます。

<?php include '../../../production/application/controllers/controller.php';

これにより、本番環境からテスト環境にファイルがプルされます。リンクをハードコーディングして、絶対ではなく相対にするかどうかを確認してください。このようにして、テスト環境に取り込まれると、本番環境ではなく、テスト アセットが参照されます。

現在、CI インストールにアクセスできないため、これはテストされていません。それがどうなるか教えてください。

于 2012-06-26T21:16:04.757 に答える
0

最終的には、Git などの何らかのバージョン管理をセットアップすることをお勧めします。テストで環境を編集し、変更を本番環境にプッシュできます。

あなたの質問に答えるために、シンボリックリンクを設定することで、2 つの異なるアプリ間でモデルとコントローラーを共有できます。私はLinuxでそれをしましたが、Windowsでも同じはずです。たとえば、実際のファイルをテスト アプリに入れたいとします。すべての php ファイルをテスト アプリのコントローラーとモデル ディレクトリに配置します。本番アプリでコントローラーとモデルのディレクトリを作成する代わりに、テスト アプリのそれぞれのディレクトリへのシンボリック リンクを作成するだけです。

于 2012-06-26T20:43:03.510 に答える