web-dev-qa-db-ja.com

AngularJSとPHPバックエンド

多分それは本当の質問ではなく、むしろdiscussionです。簡単なタスクを使用して角度を学習し、ブログシステムを構築することにしました。そして、いくつか質問があります。 PHPアプリがMVC構造になることを想像しないでください。そのため、いくつか質問があります。

  • RESTFULアプリとしてのみバックエンドを構築し、angularおよびphpに対してjson response\requestを使用する必要がありますか?
  • PHPアプリのビューはどうですか?ng-initで使用する必要がありますか?
  • ルーティング、サーバー側またはクライアント側?
  • キャッシングはどうですか?
  • そして最後ですが、ユーザーが入力するデータに関するロジックをどこに置くべきでしょうか?

誰かが私にこのことについての指示や指示を与えたり、記事を読んだり、phpとAngularを組み合わせたりするのに役立つリンクを教えてもらえますか?

23
Cawa

このタイプのアプリケーションを実際には2つのアプリケーションと見なすこともできます。

1つ目は、バックエンドであるAPIです。 PHPフレームワークを使用して、データの永続性、検証(ビジネスロジック)などを可能にするAPIを構築し、今のところフロントエンドを忘れることができます。バックエンドデータのAPIを構築します。

アプリの2番目の部分は、AngularJSフロントエンドです。これには、すべてのビューとクライアントが見るすべてが含まれます。それはバックエンドからのものではありません。

これにより、バックエンドAPI(PHPビット))を使用してデータストアとして機能し、安全のために独自の検証を行うと同時に、AngularJSからのシームレスなユーザーエクスペリエンスと基本的なクライアント側検証を実現できます。

ルーティングはAngularJSです。これは、クライアントが使用している実際のフロントエンドであるためです。

キャッシングは(必要な場合)バックエンドであるAPIで実行できます。

検証はフロントエンドとバックエンドの両方で行われますが、必要に応じて若干異なる場合があります。

バックエンドは厳密にAPIとして構築し、フロントエンドを考慮せずに(それを使用する複数のアプリがあるかのように)、独自の検証ルールとロジックを持つことに注意してください。

お役に立てば幸いです。

31
Petar Zivkovic

私はAngularとRESTful APIでPHPを利用できる非常に単純な構造を見つけました。私はすべてのビューにAngularjsを使用しています。私は、slimと呼ばれる落ち着いたPHP AP​​Iフレームワークを使用して、Angularと、Doctorine2を使用するPHPモデル間の通信を容易にします。

私のコーディングの85%はAngular(Views)で行われています。 5%はAPI(コントローラー)で、残りの10%はモデルでビジネスロジックを構成します。懸念事項の分離が大きく、オーバーヘッドが少ない。シンプルで簡潔。

6
Motoman