2012-03-20 8 views
0

私はフレームワークに移行したいPHPのlegacy-appを持っています。管理バックエンドを形成するファイルは100前後です。コードの大部分はオブジェクト指向でさえありません。私が触れたことのないコードもあります。 完全なリファクタリングの時間はありませんが、いくつかの機能を追加する必要があり、他の機能を再構築する必要があります。コンポーネントごとにコンポーネントを再構築したいと考えています。CodeIgniterにアプリケーションを移行する方法

プロセス内のすべての作業を維持する必要があります。ユーザーが変更を気付かなくても大丈夫です。私はCodeIgniterのUIを再構築し、古い部品を交換するまでリンクします。

これは、簡単に言えば、ディレクトリ構造である:

  • 管理
    • は、 - >古いコード
    • 画像
    • CSS
    • JS
    • index.phpを - >を$ _GETに依存する他のファイルも含む -

私の質問は:管理者フォルダにCIを入れて、古いindex.phpの名前を変更して、両方の部分を動作させるために書き直しを行うのが最善でしょうか? レガシーコードと新しいコードを分離するためのより良いアプローチはありますか?

+0

一度に1つの部分をフレームワークに再構築して、すべてのことを機能させ、ユーザーからそれを隠すことはありません。フレームワークは、その場を持ち、いくつかの有用性と価値を提供しますが、複雑さを軽減する可能性は低いです。私はそれのようなシステムを空のフレームワーク設定とマージしようと想像することはできません。フレームワークは足場のようなものです。空白のキャンバス - すべての機能、すべてのデータベース構造、すべてのインターフェイスを埋めなければなりません。 –

+0

hmm - 「すべてを再構築する、古いコードを残す」のように聞こえます。私は分離されたコンポーネントについて話している - ユーザーインターフェイスで結合されています。それらのすべては、ニュースやメール、アナリティクスなどの一般的なデータがない、またはほとんどないウェブサイトのさまざまな側面で機能します。私の計画は:menu-entry-1 - >古いものを使用するmenu-entry-3 - > new code – StilgarBF

答えて

1

リファクタリングを完了した方がよいでしょう。開始するにはadmin部分だけでも良いでしょう。フレームワークを使用する予定の場合は、既存のファイルにMVCパターンを適用する必要があります。これは単純なコピー貼り付けではありません。

+0

コピー&ペーストの場合は前にやっていたでしょう。私はすべてを再構築すると2ヶ月かかるだろうと思う。残念ながら、それはオプションではありません。私は、ある種の魔法の杖のようなフレームワークを使用するのではなく、将来のためのよりよい基盤を持つツールとして使いたいと思っています。 – StilgarBF

1

コーディングハッピー私はあなたがフレームワークに説明したものを切り替えしようとすることは悪い考えであると確認物事が働いているにするために、いくつかのハックの仕事につながる可能性があることを言わなければならないでしょう。私の提案は最初から始めることです。

あなたが最初からやり直していた場合は、現在更新されていないものを残して、新しいアプリケーションを終了し、何もせずにアップロードします。

本当に新しい機能を追加する必要がある場合は、フレームワーク全体を追加するのではなく、コンポーネント(Symfony2コンポーネントなど)を追加します。これをgitリポジトリに追加し、開発者ブランチで作業します。そのため、(作業中の)変更をマージするまで、ユーザは変更を見ることができません。

1

これはもう少し遅いことに気付きましたが、私は同じタイプの問題に遭遇しました。私がやり遂げたのはサブフォルダ内のBonfire(CodeIgniterに基づいています)を使用しており、全体でBonfireを使用するサイトの再設計を完了するまでAJAXリクエストを使用して既存のページから呼び出します。

私の場合、私が作業しているサイトには、動的要素やデータ駆動要素、または管理インタフェースがほとんどないため、これはおそらく私の場合は多分簡単でしょう。当時どのような方法でも一緒に投げ込まれた数年のページ。

関連する問題