私は、標準の LAMP スタックで開発中の巨大なシステムに取り組んでいます。簡単に言えば、あまりにも多くの過ちが犯され、現在の開発ベクトルは持続不可能になりつつあります。要約すると、次の問題があります。
- カスタムで非常に基本的な PHP MVC フレームワークが使用されており、構造が強制されていません。
- ORM は使用されないため、開発者はそれぞれ独自のシステムを考え出すことができます。
- フロント エンドは Smarty によってレンダリングされますが、動的なやり取りはすべて jQuery で行われます。
- PHP が失敗している、または非常に遅いシステムの一部で、重い処理が行われています。
- 単体テストは使用されません
- REST は、外部システムへの一部の API にのみ使用されます
- PHP フレームワークは依存性注入をサポートしていません
システムが完全に混乱する原因となる他の問題については言及しませんが、これらが主な問題であると考えています。
Twitter が使用しているものに似たものを導入することで、システムの開発を別の方向に向けたいと思います。システムは REST に接続されたモジュールに分割されます (私の仮定が正しければ)。これらは私が紹介したいものです:
- Play フレームワーク (Java/Scala)
- Play を REST 経由で既存の LAMP スタックに接続する
- Apache を Nginx に切り替える
- (ほとんどの場合) フロント エンドには Angular.js を使用します。
- 長期的には、既存の LAMP 全体を Play に変換します
私が直面している主な問題は次のとおりです。アドバイスをいただければ幸いです。
- RESTはステートレスであることを念頭に置いて、どのように状態を維持/渡すのですか? 現在の LAMP は明らかに PHP セッションを使用してこれを行います。
この特定の状況に関するその他のコメントも歓迎します。