デフォルトでは、Playフレームワークは組み込みのHTTPサーバー(Nettyに基づいて)を使用します。 PHPに最も近い類推は、PlayがApacheとPHPの両方であることです。
PHPは従来の「CGIのような」パラダイムを使用しています.1つのHTTP要求を処理するためにプログラムが開始され、要求の処理が終了すると終了します。 HTTPリクエストを提供するCGIでは、Webサーバーが外部プログラム(スクリプト)を起動し、その出力を返します。古いバージョンのPHPは、CGIのためだけに設計されていました。それ以降のバージョンでは、CGIは非常に遅いため、コアの原則は変わりませんでした。
Webアプリケーションテクノロジのほとんどは、Webアプリケーションが一度起動されてから実行されるため、Webアプリケーションの1つの実行インスタンスが引き続き要求を処理します(複数の要求を並行して処理できます)。 PHPのように、1回のリクエストを処理した後も死ぬことはありません。これにより、毎回アプリケーションを起動するのに必要なリソースが非常に少なくて済み、作業がわずかに難しくなります。なぜなら、隠された内部フレームワークのリクエスト処理の大半と、リクエストが到着して戻ったときに呼び出されるコントローラメソッド応答。
さらに柔軟性を高めることができます。たとえば、バックグラウンド処理をWebアプリケーションの内部で開始することができます。外部サーバープロセスは不要です。 Playには非常に便利なAkkaライブラリがあります。
WebアプリケーションがAjaxとRESTのアプローチを使用するようになるにつれ、毎回重いウェブページを扱うのではなく、それが重要になります。要求技術(ポーリング、ロングポーリング、iframeマルチパート)にかかわらず、良いパフォーマンスを持つPHPでリアルタイムメッセージングバックエンドを作成することはほとんど不可能です。
しかし、ビュー、モデル、およびコントローラを作成する開発者の視点から、PHP MVCフレームワークと比較すると、Playは非常に似ています。 PHP MVCフレームワークとPlayフレームワークの両方でコントローラメソッドまたは関数が呼び出され、このメソッドはレスポンスを返す必要があります。ビューは通常テンプレートであり、モデルは通常リレーショナルデータベースへのORMバインディングです。今、上記のリンクを https://github.com/playframework/playframework/blob/master/framework/src/play-netty-server/src/main/scala/play/core/serverを以下に移動し
/NettyServer.scala – hiren
@hirenありがとう、リンクを更新しました – EECOLOR