Leaderboard ads banner

PHP: Nên sử dụng include, require hay require_once

Theo em hiểu thì các hàm include(), require()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ặc require_once sẽ báo lỗi khi tập tin nhập vào không tồn tại, còn include() 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ới require() 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()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?

Vũ Hiển Vũ Hiển

Á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ùng include. Về cơ bản cũng không có gì khác nhau nhiều.

2 Câu Trả Lời

Nam Nguyễn Nam Nguyễn

Khi Nào Nên Sử Dụng require

Bạn nên sử dụng require khi ứng dụng yêu cần phải nhập vào một tập tin mang tính chất bắt buộc. Nếu tập tin này không tồn tại PHP sẽ chấm dứt hoạt động của chương trình đang chạy và hiển thị lỗi E_COMPILE_ERROR.

Ví dụ sau sẽ nhập vào tập tin database_config.php, file này chứa thông tin như database username, password hay địa chỉ host để kết nối tới database:

<?php
require('database_config.php');

Nếu file database_config.php không tồn tại PHP sẽ hiển thị lỗi và chấm dứt chương trình.

Khi Nào Nên Sử Dụng require_once

Bạn sử dụng require_once khi file nhập vào là bắt buộc phải có và tập tin này chỉ nên được nhập vào một lần đầu tiên, nếu file này tiếp tục được nhập vào sau đó (sử dụng một trong ba hàm require, include hay require_once PHP sẽ bỏ qua việc nhập vào.

Ví dụ sau sẽ nhập vào tậ tin connect_db.php chứa logic thực hiện việc kết nối tới database. Do đó trên mỗi trang có kết nối tới database, chúng ta chỉ nên thực hiện việc nhập vào file này một lần đầu duy nhất.

<?php
require_once('connect_db.php');

Khi Nào Nên Sử Dụng include

Sử dụng include khi bạn muốn nhập vào tập tin không mang tính chất bắt buộc, có cũng được không có cũng không sao:

<?php
$enviroment = "local";

include('config_environment.php');

if ($enviroment == "local") {
  ini_set("display_errors", 1);
}
夙 黄 夙 黄

Chuyên gia bóng đá, biết ngay bóng đá
http://www.bongdalu.mobi/?my=ad \

thông số của các trận đấu bạn sẽ hiểu ngay

Nội dung tối thiểu 100 ký tự

Câu Hỏi Liên Quan