次の問題に出くわしましたが、まともな解決策がわかりません。さまざまなクライアント向けに PHP で Web サイトを作成しています。すべてのクライアントと同様に、修正が必要なバグを見つける人もいれば、数か月後にライブ サイトの更新を要求する人もいれば、両方を行う人もいます。
クライアントの更新に取り組むときは、公開する前にクライアントにプレビューするのが好きです.
過去にいくつかの異なるソリューションを使用しましたが、満足できるものはありませんでした。私がこれまでに行ったこと:
- インデックスに
VERSION
s とを定義します。CURRENT_VERSION
訪問者には、承認されたバージョンが表示されます。$_SESSION
変数を設定する特定のリンクをクライアントに送信すると、クライアントは新しいバージョンを確認できます。コードでは、if とスイッチを使用して、に応じて新しいものを表示しCURRENT_VERSION
ます。これは機能し、すべてのコードを 1 か所に保持し、バグ修正を容易にしますが、愚かなif(CURRENT_VERSION >= V2)
ステートメントでコードをなぞります。これもCSSファイルでは使用できません。 - すべてのファイルを「build1」フォルダーに入れます。プレビューが必要な大きな更新を開始するときは、すべてを「build2」フォルダーにコピーします。クライアント用の「build2」フォルダーをアップロードし、パスワードで保護します。これはうまく機能しますが、ビルド 2 の作業中にビルド 1 のバグを修正する必要がある場合は、修正をビルド 1 からビルド 2 にコピーする必要があります。
- 開発サーバーを使用します (一部のクライアントはこれを提供できます)。これは、開発サーバーがライブ サイトから分離されているため、これまでのところ最適に機能します。これは、プロジェクトのコピーを作成する必要がある 2 番目の解決策とほとんど同じように機能しますが、私にはよりクリーンに感じられます。
ただし、おそらくGit/SVNを使用して、コードを管理するためのより良い方法を探していますが、これらが私を助けることができるかどうかについて十分に知りません.