Trong bài này, tôi sẽ trình bày sự khác nhau giữa: include, include_once, require, require_once và cách sử dụng chúng.
1/ require() – include() :
- Giống: Chèn file vào file hiện tại, nếu file được chèn có lỗi thì hiện thông báo lỗi
- Khác : khi file được chèn bằng lệnh require() có lỗi thì trình biên dịch sẽ dừng lại, không dịch nữa và sẽ xuất hiện thông báo lỗi. Còn khi file được chèn bằng lệnh include() có lỗi thì trình biên dịch vẫn tiếp tục dịch cho đến hết, đồng thời cũng xuất hiện warning để mình biết file đó bị lỗi.
Ví dụ 1: file a.php
<?php
required (‘b.php’);
echo “hello”;
?>
Giả sử file b.php không tồn tại, khi chạy file a.php lên, trên màn hình sẽ không xuất hiện chữ hello.
Ví dụ 2: file a.php
<?php
include (‘b.php’);
echo “hello”;
?>
Giả sử file b.php không tồn tại, khi chạy file a.php lên, trên màn hình có xuất hiện chữ hello.
2/ require_once() – include_once():
- Là hai dạng biến đổi của hàm require() và include()
- Mục đích : nếu file được chèn đã được chèn ở trước đó rồi, thì bây giờ sẽ không chèn nữa.
Ví dụ:
File a.php có nội dung là : aaaaaaaa ==
File b.php có nội dung là:
<?php
include “a.php”;
include “a.php”;
?>
Khi chạy file b.php thì kết quả sẽ là: aaaaaaaa ==aaaaaaaa ==
Ví dụ 2:
Nhưng nếu file b.php sữa lại là:
<?php
include (“a.php”);
include_once(“a.php”);
?>
hoặc:
<?php
include_once (“a.php”);
include_once(“a.php”);
?>
thì khi chạy file b.php thì kết quả sẽ là: aaaaaaaa ==