Tệp có được bao gồm lại hay chỉ một lần?
myfile.php
chỉ được bao gồm một lần.
require_once 'myfile.php'; //included
include_once 'myfile.php'; // not included
Sự khác nhau giữa hai loại là gì?
Sự khác biệt giữa include_once
và require
là khi họ không thể tìm thấy file include_once
sẽ phát ra một cảnh báo và require
sẽ phát ra một lỗi nghiêm trọng.
yêu cầu giống hệt bao gồm ngoại trừ khi không thành công, nó cũng sẽ tạo ra lỗi mức E_COMPILE_ERROR gây tử vong. Nói cách khác, nó sẽ tạm dừng tập lệnh trong khi chỉ bao gồm phát ra cảnh báo (E_WARNING) cho phép tập lệnh tiếp tục. [http://php.net/manual/en/function.require.php]
Yêu cầu gây ra một lỗi về thất bại và bao gồm cố gắng để phục hồi? bất kỳ sự khác biệt nào khác?
include
phép bạn khôi phục có, một thất bại require
tuyên bố luôn luôn kết thúc một cách, một try
catch
thậm chí không thể cứu kịch bản của bạn.
Giá trị của nó chỉ ra điều gì sẽ xảy ra nếu các kết hợp khác của bốn số liệu đánh giá tệp (include
, include_once
, require
và require
) đã được sử dụng.
Nếu tập tin đã được tìm thấy
include
và require
sẽ luôn bao gồm các tập tin bất kể trước đó bạn đã sử dụng require
, include
, require
hay include_once
với cùng một tập tin.
include_once 'myfile.php'; //included
include 'myfile.php'; //always included
require 'myfile.php'; //always included
require_once 'myfile.php'; // not included, prevously included via [function.include_once], [function.include] and [function.require]
include_once
và require
sẽ chỉ bao gồm các tập tin nếu nó chưa được trước đây bao gồm sử dụng một tuyên bố require
, include
, require
hay include_once
.
require 'myfile.php'; //always included
include_once 'myfile.php'; // not included, prevously included via [function.require]