Câu lệnh include và require trong PHP được sử dụng để chèn nội dung của file php này vào file php khác.
Việc chèn nội dung file là rất hữu ích khi bạn muốn chèn các dòng code php, html giống nhau vào nhiều trang khác nhau.
Câu lệnh include và require là giống nhau, trừ trường hợp bị lỗi:
- require: sẽ tạo ra lỗi nghiêm trọng (E_COMPILE_ERROR) và dừng tập lệnh.
- include: sẽ chỉ tạo cảnh báo (E_WARNING) và tập lệnh sẽ tiếp tục.
Vì vậy, nếu bạn muốn chương trình tiếp tục được thực thi và hiển thị đến người dùng, ngay cả khi file được chèn vào bị thiếu, hãy sử dụng câu lệnh include. Nếu không, trong trường hợp FrameWork, CMS hoặc ứng dụng PHP phức tạp, hãy luôn sử dụng câu lệnh require để chèn một file là bắt buộc tới luồng thực thi. Điều này sẽ giúp tránh ảnh hưởng đến tính bảo mật và tính toàn vẹn của ứng dụng.
Include các file tiết kiệm rất nhiều công sức. Điều này có nghĩa là bạn có thể tạo file header.php, footer.php hoặc menu.php cho tất cả các trang web của mình. Sau đó, khi cần cập nhật phần tiêu để của trang, bạn chỉ cần cập nhật file header.php.
Cú pháp
include 'filename'; hoặc require 'filename';
Các ví dụ về include và require trong PHP
Ví dụ 1
Giả sử chúng ta có một tệp chân trang tiêu chuẩn được gọi là "footer.php", trông giống như sau:
<?php echo "<p>Copyright © 2016-" . date("Y") . " kienthuclaptrinh.net</p>"; ?>
Sử dụng câu lệnh include để chèn chân trang vào trang page1.php:
<html> <body> <h1>Welcome to kienthuclaptrinh.net!</h1> <p>Some text.</p> <p>Some more text.</p> <?php include 'footer.php';?> </body> </html>
Kết quả:
Ví dụ 2
Giả sử chúng ta có một tệp menu chuẩn được gọi là "menu.php":
<?php echo '<a href="">Home</a> - <a href="/html">HTML</a> - <a href="/css">CSS</a> - <a href="/javascript">JavaScript</a> - <a href="/php">PHP</a>'; ?>
Sử dụng câu lệnh include để chèn menu và footer vào trang page2.php:
<html> <body> <?php include 'menu.php';?> <h1>Welcome to kienthuclaptrinh.net!</h1> <p>Some text.</p> <p>Some more text.</p> <?php include 'footer.php';?> </body> </html>
Kết quả:
Ví dụ 3
Giả sử chúng ta có một "cars.php", với một số biến được định nghĩa:
<?php $color='đỏ'; $car='BMW'; ?>
Sử dụng câu lệnh include để chèn file trên vào trang page3.php:
<html> <body> <h1>Welcome to kienthuclaptrinh.net!</h1> <?php include 'cars.php'; echo "Xe $car có màu $color."; ?> </body> </html>
Kết quả:
Include vs Require
Câu lệnh require cũng được sử dụng để bao gồm một file vào mã PHP.
Tuy nhiên, có một sự khác biệt lớn giữa include và require, khi một file được chèn bằng lệnh include và PHP không thể tìm thấy nó, tập lệnh sẽ tiếp tục thực thi:
<html> <body> <h1>Welcome to kienthuclaptrinh.net!</h1> <?php include 'file_khong_ton_tai.php'; echo "Xe $car có màu $color."; ?> </body> </html>
Kết quả:
Nếu chúng ta làm ví dụ tương tự bằng cách sử dụng lệnh require, câu lệnh echo sẽ không được thực thi vì việc thực thi tập lệnh chết sau khi lệnh require trả về một lỗi nghiêm trọng:
<html> <body> <h1>Welcome to kienthuclaptrinh.net!</h1> <?php require 'file_khong_ton_tai.php'; echo "Xe $car có màu $color."; ?> </body> </html>
Kết quả: