4

どの Zend Framework プロジェクトでも、職場の PC、自宅の PC、または MacBook の 2 つか 3 つの場所で作業できます。私のソース コードは常に SVN であり、通常は開発サーバーで作業してから、完成した作業を運用サーバーにプッシュします。この種の環境では、Zend_Tool をどこで使用すればよいか、あまり確信が持てませんでした。

どう見ても、2つのオプションがあります:

  1. 各開発環境で Zend_Tool を使用してローカルで動作するように設定し、そこから開発サーバーにプッシュして、Zend_Tool の使用ごとにマニフェストなどをチェックインします。
  2. Zend_Tool を開発サーバーで直接使用し、各追加/変更をダウンロードして SVN にプッシュします。

最も信頼できる方法は複数の Zend_Tool セットアップであると言いたいのですが、これに関する潜在的な問題や、別の選択をする必要がある理由を人々が考えることができるかどうか聞いてみたいと思います.

ありがとう。

4

3 に答える 3

2

Zend_ToolAPPLICATION_ENVは、ファイルの「開発」にハード コードします。Tool/Project/Context/Zf/BootstrapFile.php

無謀にもソース コードを変更してしまう可能性があります (良いアイデアではありませんが、うまくいきます)。このパッチを適用すると、環境シェル変数を使用して、現在の環境を Zend_Tool に伝えることができます。

    --- BootstrapFile.php (saved version)
    +++ (current document)
    @@ -106,9 +106,11 @@
                     define('APPLICATION_PATH', $this->_applicationDirectory->getPath());
                     $applicationOptions = array();
                     $applicationOptions['config'] = $this->_applicationConfigFile->getPath();
    +                
    +                $env = getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'development';

                     $this->_applicationInstance = new Zend_Application(
    -                    'development',
    +                    $env,
                         $applicationOptions
                         );
                 }
    ,

APPLICATION_ENV環境変数を設定することを忘れないでください。

言うまでもなく、これは非常に危険であり、間違った環境変数を設定すると爆発する可能性がありますが、Doctrine コマンドを Zend Tool に統合する ZFDoctrine を使用している私たちにとって、他に多くの選択肢はありません。教義の移行。

このリファレンスを参照して ください http://framework.zend.com/issues/browse/ZF-9898?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel

于 2011-03-04T23:39:18.057 に答える
2

Zend_Tool は、実際には開発環境で使用することを意図しています。複数の場所で使用することについてのあなたの感覚はまったく正しいです。実際、唯一の問題は、Zend_Tool がプロジェクトのさまざまな構成を認識するために使用する XML 間の同期ですが、これは同じリビジョン中に大きな変更が加えられた場合にのみ発生します。異なる作業コピー(一般的なバージョン管理の制限/問題/その他)。

それ以外は特に問題はないはずです。

于 2010-09-15T01:40:21.363 に答える
1

私がここで行っていることは、インスタンス構成を作成することです。これにより、アプリケーションが実行されている環境に応じて 3 つの構成が作成されます。

  1. ローカル マシン (プログラミング中のデバッグ)。
  2. 開発 (本番環境にプッシュする前にコードをテストするために使用)。
  3. 本番環境 (ライブ環境)。

次に、構成ファイルで指定した環境に基づいて、ツールのパスとデータを持つ構成をロードする構成クラスをセットアップします。

基本的に、環境を実行するための構成ファイルのファイル名を含む Chooser.txt というファイルがあります。ローカルで実行したい場合は、Chooser.txt ファイルを local_config.txt に編集します (特定の構成を評価できるように .txt を使用し、構成ディレクトリに .ht アクセスして、誰もそれを表示できないようにします)。開発サーバーにプッシュするときは、Chooser.txt を編集して dev_config.txt などにします。次に、dev_config.txt または local_config.txt に、ツールの構成変数と php 設定などがあります...

これで、各環境にツールをインストールして、ツールとライブラリをローカル環境、開発環境、および運用環境に配置できるようになりました。ローカライズされた環境にツールを配置することで、ツールの更新/パッチ適用時のテストがはるかに簡単になり、最初に開発サーバーでツールをテストする必要があるときに、運用サーバーでツールにパッチを適用するだけではなくなります。

于 2010-09-09T16:00:41.127 に答える