2016-06-14 9 views
1

私はいくつかの私のクライアントのウェブサイトを動かすウェブアプリケーションを構築しています。また、残りのAPIも含まれています。自分のPHPコードを直接呼び出すのではなく、クライアントのPHPウェブサイトでAPIを消費するようにすることが賢明でしょうか。私は、Webサイトが私のサーバーにないクライアントの場合、特に展開が容易になると言われていますが、私にはその利点はありません。また、私はそれが私たちのコードを保護するのに役立つだろうと言われましたが、クライアントがベースのアクティブレコードモデルにしかアクセスできないので、私はその利点を見ません。 私はカールの使用に問題はありません。私の問題は、すべてのクライアントのウェブサイトが私のサーバー上でホストされている瞬間に、その要求を満たすためにサーバーが自分自身にカールリクエストを送信するように要求をサーバーに来らせるのは効率的ではないと思います。 ご意見をいただければ幸いです。私自身のAPIを消費するためにカールを使うべきですか?

+1

独自のAPIを使用するシステムを作成することもできます。そのようなソリューションは拡張性があり、潜在的なクライアントが使用する標準APIを使用することを保証します。しかし、気づいたことがあるかもしれませんが、プログラミングの直接的な質問ではなく、設計上の疑問であるため、誤用のために閉じられる可能性があります。 –

+1

同様のプログラマー.SE:[自分の公開APIを自分のWebインターフェイスに使用する必要がありますか?](http://programmers.stackexchange.com/questions/302028/should-i-use-my-own-public-api-for -my-web-interface) – HPierce

+0

Curlは良いですが、API呼び出しの周りにラッパーライブラリーをクライアントに提供する方が良いでしょう。そうすれば、ユーザーはAPIの仕組みを知る必要はなく、変更を加える必要がある場合は、すべてのクライアントがAPIに依存するコードを変更するのではなく、ラッパーを更新できる可能性があります。 –

答えて

2

PHPを2回呼び出すオーバーヘッドがあっても、これは良いモデルだと思います。そのオーバーヘッドは本当です!

しかし、あなたのAPIがうまくいけば、(グローバル、スーパーグローバル、php:// input、header()などに直接頼るのではなく)リクエスト/レスポンスオブジェクトを正しく構築していれば同じPHPコードをローカルで呼び出す「偽のHTTPクライアント」を作成することもできます。

+0

本質的に、私のクライアントのウェブサイトはローカルコードを使用できるはずです。利用できない場合は、APIを呼び出します。 –

+0

いいえ私はクライアントのウェブサイトの観点から見ると、HTTPリクエストのように見え、感じなければならないと言っていますが、実際には、HTTPリクエストを行うのはふさわしいが、実際にはAPIソースを設定するリクエスト/市内通話を行います。 – Evert

+1

これは理にかなっていない場合は、実際のHTTPリクエストを行い、パフォーマンスの問題が発生した1年後にここにコメントしてください;) – Evert

関連する問題