Trong bối cảnh đó, các or
trong tuyên bố đó là một trong những PHP logical operators mà khi được sử dụng như thế, sẽ thực hiện báo cáo kết quả thứ hai nếu và chỉ khi người đầu tiên thất bại do short circuit evaluation.
Kể từ khi fopen
trả về false, câu lệnh or exit
được thực hiện vì phần đầu tiên không thành công.
Để hiểu rõ hơn, đây là giải thích nhanh về đánh giá ngắn mạch.
$x = 5;
$y = 42;
if ($x == 5 or $y == 42) {
echo "x or y is true";
}
Trong mã trên, biểu thức $y == 42
không bao giờ được đánh giá vì không cần biểu hiện đầu tiên.
Trong ví dụ đó, họ đang sử dụng cùng một logic để quyết định có hay không đánh giá tuyên bố gọi exit
.
Để giải quyết câu hỏi của bạn:
- tôi sẽ không sử dụng lối ra khi mở một tập tin thất bại trừ khi chương trình đã rất cụ thể. Điều tốt hơn để làm là đăng nhập lỗi và sau đó trả lại lỗi cho người gọi để họ có thể quyết định phải làm gì.
- Khi nào sử dụng
exit
hoàn toàn phụ thuộc vào mã bạn đang viết.
- Với giải thích về đoản mạch, có thể chúng có thể hoán đổi cho nhau theo nghĩa đó. Sử dụng
or exit
chỉ ngắn hơn một chút so với sử dụng if/else
.
Hy vọng điều đó sẽ hữu ích.
Chúng đã sử dụng 'hoặc thoát' vì bạn đang xem ví dụ về' thoát'. – Gumbo
@Gumbo, tôi đã chỉnh sửa câu hỏi của mình để xóa phần không hợp lý của câu hỏi # 3 mà bạn tham chiếu. –