/mercure_sample

Sample project for async request and server side events with Symfony and ExtJS

Primary LanguagePHP

非同期とpush通知のサンプルプロジェクト

  • Symfony の Messenger コンポーネントを使って非同期のリクエストを実現
  • Symfony の Mercure コンポーネントを使って、作業の完了をClientに通知
  • Ext JS で通知を購読して、画面を更新

セットアップ

ローカルで開発環境を動かす

Ext JS のセットアップ

cd /path/to/thisProject/client
sencha app install --frameworks= /path/to/ext-7.1.0.46 # Ext JS を展開したディレクトリ
sencha app build

リンクの作成

  • ビルド済みを使う場合 (速い)
cd /path/to/thisProject/server/public
ln -s ../../client/build/production/App ./app
  • ビルド前のを使う場合 (遅いけど修正がすぐ確認できる)
cd /path/to/thisProject/server/public
ln -s ../../client/ ./app

composer install

cd /path/to/thisProject/server
composer install

mercure の Hub をインストール

起動

docker の起動

cd /path/to/thisProject/server
docker-compose up

Messenger の起動

cd /path/to/thisProject/server
symfony console messenger:consume -vv

PHP サーバーの起動

symfony server:start

ブラウザーでアクセス

https://localhost:8000/