Giới thiệu
Tác dụng của câu lệnh request tương tự như bao gồm câu lệnh trong PHP. Tuy nhiên, có một điểm khác biệt chính. Nếu trình phân tích cú pháp không tìm thấy tệp cần thiết, nó sẽ tạo ra một lỗi nghiêm trọng do đó chấm dứt tập lệnh hiện tại. Mặt khác, câu lệnh include phát ra cảnh báo trong trường hợp không tìm thấy tệp và việc thực thi tập lệnh hiện tại vẫn tiếp tục.
Trình phân tích cú pháp PHP cố gắng định vị tệp trong thư mục hiện tại theo mặc định và hơn thế nữa trong các thư mục được đề cập trong include_path cài đặt của php.ini , như trong trường hợp câu lệnh include. Nếu tệp được yêu cầu không có sẵn trong thư mục hiện tại cũng như các thư mục include_path, trình phân tích cú pháp PHP sẽ phát ra E_COMPILE_ERROR và việc thực thi mô-đun gọi bị tạm dừng.
Các hành vi khác của câu lệnh request tương tự như câu lệnh include.
Yêu cầu Ví dụ
Trong ví dụ sau, tập lệnh php chính bao gồm test.php
Ví dụ
<?php echo "inside main script\n"; $var1=100; echo "now calling test.php script\n"; require "test.php"; echo "returns from test.php"; ?> //test.php <?php $var2=200; //accessing $var1 from main script echo $var1+$var2 . "\n"; ?>
Đầu ra
Điều này sẽ tạo ra kết quả sau khi tập lệnh chính được chạy từ dòng lệnh -
inside main script<br />now calling test.php script<br /><br />300<br />returns from test.php
Lỗi yêu cầu không thành công
Trong ví dụ sau, cố gắng đưa vào các kết quả tệp không có trong danh sách trong cảnh báo
Ví dụ
<?php echo "inside main script\n"; $var1=100; echo "now calling nosuchfile.php script\n"; require "nosuchfile.php"; echo "returns from nosuchfile.php"; ?>
Đầu ra
Điều này sẽ tạo ra kết quả sau. Lưu ý rằng chương trình được kết thúc do lỗi -
inside main script now calling nosuchfile.php script PHP Fatal error: require(): Failed opening required 'nosuchfile.php' (include_path='C:\xampp\php\PEAR') in line 5 Fatal error: require(): Failed