2017-11-26 15 views
1

私はこの質問の答えを探していましたが、質問(質問)そのものを考え出すのはちょっと難しかったです。したがって、以下の質問に対して既に良い答えがある場合、私はリンクに非常に感謝しています。 API - WebSiteコミュニケーションロジックを複製する必要がありますか?

のは、私は電子商取引のウェブサイトやモバイルアプリのからの今後の呼び出しのためのAPIエンドポイントを持っていると仮定しましょう。私の質問です:私はクエリのロジックを複製してウェブサイトの商品ページの商品を言うか、ウェブサイトをAPIクライアントとみなし、CURLを作成して商品情報を表示する必要がありますか? APIへのリクエスト

私は最後のものに固執すべきだと思います。しかし、私はスクリプト内で余分なカール(TCP/IP)要求をすることに懸念しています。全体的な応答時間は大幅に遅くなりますか?私が気づいていない他の "パターン"はありますか?ありがとうございました。

サイトでは、同じサーバー上にあるが、APIはPhalcon PHPとウェブサイトが

答えて

1

複製は間違いなく行うには間違ったことで、通常のPHPを使用しています使用しています。別のリポジトリに

  • 移動共有ビジネスロジックと(APIにアクセスするために、民間作曲パッケージとして両方のプロジェクトに
  • 使用のcURL /ソケットラッパー・ライブラリーを、それを再利用:

    技術的には、次の3つのオプションがありおそらくGuzzle

  • をW(好ましく

fetchを経由してこれらのそれぞれをJSを使用してAPIに公衆電話をかけることが使用して欠点として、あなたの選択は、どちらのオプションがあまり傷つけないかによって異なります。

共有ライブラリは、最高のパフォーマンスを持っているでしょうが、それは、展開プロセスが複雑になると、それらのアプリケーション(サイトおよびAPI)が矛盾する要件を持つことになりますと、状況があるでしょう。問題は組織的です。

HTTP経由でAPIサーバーを内部的に呼び出すと、サイトの応答性が低下します(TTFBの処理時間が長くなるため)。ただし、APIコードは完全に変更されません。

一般公開されると、セキュリティと認証の問題が発生します。しかし、モバイルAPIクライアントがどのように期待されるかによって、これは将来の投資と見なすことができます。しかし、あなたのウェブサイトが大きく変更されなければならないので、かなりの開発時間とjavascript(おそらくJSフレームワークでさえ)に熟練した人が必要になります。ほとんどの開発に集中するオプション。

関連する問題