2017-12-04 5 views
0

すべてのサーバー要求に対してwebsocketで実行する単一ページのWebアプリケーションを作成しようとしています。ユーザーがログインした後、ページにhtmlを変更してダッシュボード(最初のページ)を表示します。PHPを使ってWebSocket上で単一ページのWebアプリケーションで「ページ変更」を行う

ダッシュボード用のテンプレートは、以前のバージョンからビルド済みです。私はテンプレートにデータベース情報を入力して、JavaScriptを表示するための文字列としてwebsocketにページを送る方法を見つける必要があります。

PHPクラスを使用してテンプレートに入力する方法がわかりません。クラスにハードコードしないで文字列に変換して送信できます。ダッシュボードは非常に複雑で、各ユーザーの設定と権限ごとに動的にメニューを構築しています。

私はこの全体的な問題を間違って見ていますか? RubyのMVCでrails/node.jsの経験がありますが、残念ながらこのアプリはPHPを使用していません。ソケットでフレームワークを使用できますか?私は、JSはhttpsを介してテンプレートをロードし、ソケットを介してデータを送信する必要がありますか? (JSの男はそれを好まないだろう)。

私はUbuntu、apache2、php7、Ratchet WebSocket(wss)、作曲家、そしてMySQLをAWS上で実行しています。

答えて

1

フロントエンドに必要なデータを取得させることは間違いありません。 PHPをバックエンドとして使用して認証をテストし、要求を解析し、データベースからデータを取得し、フロントエンドに送信することができます。フロントエンドはdom操作(jQueryと思う)を使ってアプリケーションを更新する必要があります。
phpは、フロントエンドのdivに表示される生成されたビューを送信することができます。

この設定では、Webソケットは推奨しませんが、AJAXは単純です。

あなたの質問から私が収集したことから、AngularJSのような実際のSPAフレームワークを使用する方がよいかもしれません。バックエンドから取得するデータを使用する方が良いでしょう。次に、AJAXまたはnodejsのようなWebsocketバックエンドを使用してPHPバックエンドを使用することができます。

+1

ありがとうございました。私はPHPが好きではありませんが、私の手は結ばれています。私はテンプレートにjs Ajaxを持って、ソケットからPHPでそれらを埋めるつもりだと思う。実際に答えを出すことができ、ちょうどdownvoteものではない人を見つけるのはいいのです:) – SilverSlug

+0

jQueryのロードを見てみましょう: '$( '#mydiv').load( 'https://url.to/phpgeneratorページの一部を読み込む: '$( '#mydiv').load( 'https://url.to/apage.php#.php'、{data:data}); andapartofit '); ' –

関連する問題