Nếu tôi đặt một tuyên bố include
hoặc require
bên trong điều kiện đánh giá là false
, liệu trình thông dịch PHP có bỏ qua tệp bao gồm hay không.Hành vi của PHP bao gồm/yêu cầu bên trong có điều kiện
Một ví dụ sẽ là:
if ($some_user_var) {
require 'this.php';
} else {
//do stuff
}
Tôi đọc ở đâu đó rằng require
sẽ luôn luôn được bao gồm bởi các thông dịch viên không phụ thuộc vào điều kiện, nhưng include
sẽ không. Nếu đúng như vậy, chỉ cần chuyển từ require
sang include
có thể có nghĩa là tăng tốc miễn phí do giảm I/O và phân tích chi phí phân tích.
Nó có thể tạo sự khác biệt nếu tôi đang chạy bộ tiền xử lý như eAccelerator, nhưng hãy giả sử là không.
Tôi nghĩ rằng những gì bạn đọc ở đâu đó giống như thế này: 'require' sẽ hủy bỏ việc thi hành với lỗi nghiêm trọng trong khi' include' sẽ không (trên thất bại, tất nhiên). Điều này có thể được hiểu là 'require' sẽ luôn bao gồm tệp của bạn hoặc tập lệnh sẽ chết. – acm
Bạn có cơ hội sở hữu cuốn sách này không? http://www.amazon.co.uk/PHP-World-Wide-Web-Quickstart/dp/0321245652 Tôi cũng được dạy lời nói dối này! – Matthew