Theo mặc định, khung chơi sử dụng máy chủ HTTP tích hợp (dựa trên Netty). Tương tự gần nhất với PHP sẽ là Play là cả Apache và PHP.
PHP sử dụng mô hình 'CGI giống như cũ': để phục vụ yêu cầu HTTP đơn lẻ, chương trình của bạn được bắt đầu và sau khi hoàn thành yêu cầu phân phối, nó sẽ bị chấm dứt. Trong CGI để phục vụ một máy chủ web yêu cầu HTTP bắt đầu chương trình bên ngoài - kịch bản của bạn - và trả về kết quả của nó. Các phiên bản cũ hơn của PHP được thiết kế chỉ dành cho CGI, trong các phiên bản sau này là các cách khác để tương tác với máy chủ, vì CGI rất chậm, nhưng nguyên tắc cốt lõi vẫn giữ nguyên.
Hầu hết các công nghệ ứng dụng web sử dụng cách tiếp cận khác: ứng dụng web của bạn bắt đầu một lần, sau đó vẫn chạy, vì vậy một ứng dụng web đang chạy tiếp tục phân phát các yêu cầu (và có thể phục vụ nhiều yêu cầu song song). Nó không chết sau khi phục vụ một yêu cầu duy nhất, như trong PHP. Điều này cho phép tiêu thụ ít tài nguyên hơn để bắt đầu ứng dụng mỗi lần và chỉ khó làm việc hơn, vì hầu hết yêu cầu xử lý trong khung bên trong ẩn và ứng dụng của bạn chỉ cần hiển thị các phương thức điều khiển được gọi khi yêu cầu đến và trả lại phản ứng.
Nó cũng cho phép linh hoạt hơn, ví dụ như xử lý nền có thể được bắt đầu ngay bên trong ứng dụng web, không cần quá trình máy chủ bên ngoài. Play có thư viện Akka rất tiện lợi cho việc này.
Khi ngày càng có nhiều ứng dụng web sử dụng phương pháp tiếp cận Ajax và REST, thay vì phục vụ các trang web hạng nặng mỗi lần, nó trở nên quan trọng hơn. Và hầu như không thể tạo chương trình phụ trợ nhắn tin thời gian thực với PHP sẽ có hiệu suất tốt, bất kể yêu cầu công nghệ (bỏ phiếu, bỏ phiếu dài, khung nội tuyến với nhiều phần).
Nhưng nếu so sánh với khung công tác MVC của PHP, từ quan điểm của nhà phát triển tạo chế độ xem, mô hình và bộ điều khiển, Play rất giống nhau. Cả hai trong PHP MVC framework và Play framework gọi phương thức điều khiển hoặc hàm và phương thức này sẽ trả về đáp ứng, các khung nhìn thường là các khuôn mẫu và các mô hình thường là các ràng buộc ORM với cơ sở dữ liệu quan hệ.
Bây giờ, liên kết ở trên được di chuyển đến sau https://github.com/playframework/playframework/blob/master/framework/src/play-netty-server/src/main/scala/play/core/server /NettyServer.scala – hiren
@hiren Cảm ơn bạn, tôi đã cập nhật liên kết – EECOLOR