開発中のWebアプリケーションと、作成されているAPIを活用する必要があるかどうかについては、一週間を通していくつかの議論がありました。直接DBアクセスの代わりにAPIを使うことの長所と短所
ここに状況があります。 MySQL DBだけでなく、自宅で開発されているいくつかのモバイルアプリケーションを使用してPHP MVC Webアプリケーションを使用しています。モバイルアプリでは、残りのAPIを作成しています。大きな疑問はなぜ私のPHP Webアプリケーションがその残りのAPIを使用すべきかということです。私はいつもAPIの使用が、自分のデータベースとやりとりする必要のあるサードパーティ製のシステムや、異なるテクノロジで構築されたシステム用であることを期待していました。 Webアプリケーションは確かに第三者システムではなく、サービスはPHPにあります。 APIがWebアプリケーションとは別のサーバー上にある場合は、サードパーティシステムと見なすことができると思います...まだ決定されていません。
私にとっては、APIサービスがWebアプリケーションで利用可能な機能の約50%に制限されるため、WebアプリケーションのAPIを活用するのは奇妙に思えます。 Webアプリケーションに固有のものになります。また、DBに直接アクセスするのではなく、サービス層を踏んでWebアプリケーションにパフォーマンスが低下することも予想されます。反対側では、私のWebアプリケーション用のコードベースをDBにぶつけ、モバイルアプリ用のAPIに組み込まれた同様の機能を持つメンテナンスが増えています。
似たような状況に遭遇したことがあり、APIを使用すべき理由や堅実なケーススタディを指すことができる理由について、いくつかの技術的賛否両論を提供できますか?
私がPHPアプリケーションを書くときに、アプリケーションが使用するサービス(例えば、データベース内の製品とやりとりするサービス)を作成します。内部的に直接使用されるサービス( 'app() - > service-> doSomething ) ')、HTTP経由でAPIとして公開する必要がある場合は、トップに薄いレイヤーしか必要としません。 – Marty
APIはDBにアクセスする必要がありますか?だからどちらかの方法でそれをカットしても、依然としてデータベースに照会しています。 APIが別のサーバー上にある場合は、自分のリソースを使用する代わりに、サーバーのリソースを使用しているため、APIとは違うことになります。 – spencdev