PHP: Nên sử dụng include, require hay require_once
Theo em hiểu thì các hàm include()
, require()
và require_once()
đều được dùng để nhập vào mã lệnh có trong một tập tin khác trong đó có một số sự khác biệt nhỏ như:
- Khi sử dụng hàm
require()
hoặcrequire_once
sẽ báo lỗi khi tập tin nhập vào không tồn tại, còninclude()
thì không. - Khi sử dụng
require_once()
thì tập tin chỉ được nhập vào một lần và các lần sau nếu sử dụng lại thì PHP sẽ bỏ qua, ngược lại vớirequire()
thì PHP sẽ nhập lại ngay cả khi tập tin đã được nhập vào trước đó.
Tuy nhiên em vẫn không hiểu tại sao PHP lại cung cấp tới những ba hàm khác nhau để thực hiện cùng một mục đích gần tương tự nhau như vậy? Và khi học PHP thì em cũng được khuyên nên sử dụng require_once()
. Nếu như require_once()
là cách tốt nhất để nhập mã lệnh từ tập tin khác thì tại sao không bỏ hai hàm include()
và require()
đi? Và giả sử có sự khác biệt lớn trong việc sử dụng ba hàm này trong trường hợp nào thì nên sử dụng hàm nào?
Áp dụng cách viết chặt chẽ thì nên dùng
require
còn như mình thấy nhiều thư viện PHP vẫn dùnginclude
. Về cơ bản cũng không có gì khác nhau nhiều.