私が手作業で作成したフレームワークを使用してPHP4で構築されたWebサイトがあります。コードは3年前のもので、私は制限されています(変更を加えるには多くの労力が必要です)。
このウェブサイトの新しいバージョンを作成することにしました。それ以来、私の知識は増え、多くのフレームワークが存在し、IOCが存在し、ORMも存在することがわかりました...問題は、すべての研究で、PHPで完全に満足できるものが見つからないことです。一方、私の仕事(主に.Net winform 2.0)では、多くの優れたIOCやその他のソリューションが可能であると考えており、.Netは、ベストプラクティスを備えたソフトウェアを開発するためにより成熟していると思います。
PHPに適したIOCはあまり見つかりませんでした。ORMに関しては、見栄えのするPropelを見たことがありますが、完全なフレームワークも見つかりませんでした(Symfonyのドキュメントは最新ではなく、多くのエラーが含まれています。Zendは大きすぎると思います...)、等
別のフレームワークを試して、WebサイトをPHPのままにしておくことをお勧めしますか、それとも.Netに切り替えることをお勧めしますか?
この質問の理由
- システムは機能しますが、速度が低下し始めています(ユーザー数が多いため)。データベースが正規化されすぎています...など。
- コードは悪くありません-ビジネスロジックはHTMLから分離されています-しかし問題は、コントローラーがビュー内にあるため、レイアウトを変更することがますます難しくなっていることです。
- 単体テストは行われておらず、変更を加えることは非常に「ストレス」があります。
- システムにログが記録されておらず、すべてが正常に機能しているかどうかを確認するためのスナップショットを取得するのは困難です。
詳細情報(2008年11月3日追加)
- 私は.Net2.0を知っています。これが、私の代替手段がRoRではなく.Netである理由です。
- 私は速度の問題ではなく、利用可能なツール/フレームワークのために他の言語を提案していました。
- データベースの正規化のために遅くなります。理論的には優れているが実際にはそうではないテーブルが多すぎます(私たちは間違いから学びます!)
- 趣味ですが、最初から25,000人以上のユーザーが登録しているので(全員がアクティブというわけではありません)、真剣に受け止めています。
ここの人々からの現在の提案
私は自分がしたことを維持し、ゆっくりとリファクタリングを行うように努めると思います。投票のほとんどが現在のシステムを維持することであったことに驚いていますが、まあ:Pこれは短期的には私にとってより簡単かもしれません。
スペルチェックをしているnickfへのThxは私のすべてのテキストをチェックします。