![]() |
|
Getting Started with symfonyCác môi trường |
|
You are currently reading "Getting Started with symfony" which is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.

|
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License. |
Trong thư mục web/ có 2 file PHP:
index.php và frontend_dev.php. Những file này được gọi là front controller;
tất cả các yêu cầu tới ứng dụng đều thông qua chúng. Nhưng tại sao chúng ta lại có 2
front controller cho mỗi application?
Cả 2 file này đều cho cùng một application nhưng ở các môi trường khác nhau. Khi bạn phát triển một ứng dụng, trừ khi bạn phát triển trực tiếp trên production server, bạn cần vài môi trường:
Các môi trường khác nhau như thế nào? Trong môi trường phát triển, ứng dụng cần log tất cả các yêu cầu để dễ debug, hệ thống cache phải tắt để khi ứng dụng thay đổi khi thay đổi code. Do đó, môi trường development phải được cấu hình phù hợp cho lập trình viên. Ví dụ khi một lỗi xảy ra, để giúp lập trình viên debug lỗi nhanh hơn, symfony hiển thị exception với tất cả các thông tin về yêu cầu hiện tại trên trình duyệt:

Nhưng ở môi trường sản phẩm, tầng cache phải được bật và tất nhiên ứng dụng phải hiểu thị thông báo lỗi đã được sửa lại thay vì hiển thị lỗi thực sự. Do đó, môi trường sản phẩm phải được tối ưu về tốc độ và tính thân thiện với người dùng.

Nếu bạn mở file front controller, bạn sẽ thấy nội dung những file này tương tự như nhau, chỉ khác nội dung cấu hình môi trường:
// web/index.php <?php require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php'); $configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', false); sfContext::createInstance($configuration)->dispatch();
Web debug toolbar cũng là một ví dụ về việc sử dụng môi trường. Nó hiển thị trên môi trường phát triển và cho phép bạn truy cập nhiều thông tin bằng cách click vào các tab: cấu hình hiện tại của ứng dụng, log yêu cầu hiện tại, câu SQL thực thi ở database engine, thông tin bộ nhớ, và thời gian thực thi.
If you find a typo or an error, please register and open a ticket.
If you need support or have a technical question, please post to the official user mailing-list.