Sử dụng include và require
NỘI DUNG BÀI VIẾT
Câu lệnh include (hoặc require) được sử dụng để nhúng toàn bộ nội dung của một file vào trong một file khác. Chúng thường được sử dụng trong trường hợp chúng ta muốn chia sẻ một đoạn mã nào đó chung cho nhiều file khác nhau. Chẳng hạn, phần footer trong ứng dụng web thường là giống nhau ở trong tất cả các trang. Do vậy, chúng ta tạo một file footer.php và sử dụng include (hoặc require) để nhúng file này vào phần cuối của tất cả các trang mong muốn.
Câu lệnh include và require
Câu lệnh include và require có chức năng giống nhau, ngoại trừ cách xử lý lỗi. Nếu không tìm thấy file muốn nhúng vào thì:
- Câu lệnh require sẽ tung ra thông báo lỗi nghiêm trọng (E_COMPILE_ERROR) và dừng thực thi trang hiện tại
- Câu lệnh include sẽ tung ra một cảnh báo (E_WARNING) và tiếp tục thực thi trang hiện tại.
Như vậy, nếu chúng ta muốn thực thi tiếp tục và hiển thị kết quả cho người dùng, ngay cả khi tập tin được nhúng không tồn tại thì chúng ta sử dụng lệnh include.
Còn trong trường hợp file được nhúng là một file quan trọng (chẳng hạn là chứa các hàm xử lý quan trọng, không thể thiếu) thì chúng ta sử dụng câu lệnh require.
Cú pháp
include 'tên_tệp_tin';
và
require 'tên_tệp_tin';
Ví dụ
Ví dụ 1: Giả sử chúng ta có một tệp tin quy định phần footer của trang web là “footer.php” với nội dung như sau:
<?php echo "<p>Copyright © 2017" . " CodeGym.vn</p>"; ?>
Chúng ta nhúng file chứa footer này vào một trang khác (chẳng hạn là index.php) sử dụng câu lệnh include:
<html> <body> <h1>Welcome to my home page!</h1> <p>Some text.</p> <p>Some more text.</p> <?php include 'footer.php'; ?> </body> </html>
Ví dụ 2: Giả sử chúng ta có một tệp tin quy định menu chính của các trang web là “menu.php” với nội dung như sau:
<?php echo "<a href='/default.asp'>Home</a> - <a href='/html/default.asp'>HTML Tutorial</a> - <a href='/css/default.asp'>CSS Tutorial</a> - <a href='/js/default.asp'>JavaScript Tutorial</a> - <a href='default.asp'>PHP Tutorial</a>"; ?>
Tất cả các trang khác đều có thể sử dụng tệp menu này, chẳng hạn:
<html> <body> <div class="menu"> <?php include 'menu.php';?> </div> <h1>Welcome to my home page!</h1> <p>Some text.</p> <p>Some more text.</p> </body> </html>
Ví dụ 3: Giả sử chúng ta có một tệp tin “vars.php” chứa khai báo của một số biến như sau:
<?php $color='red'; $car='BMW'; ?>
Khi chúng ta nhúng file vars.php vào trong các trang khác thì chúng ta cũng có thể sử dụng các biến này:
<html> <body> <h1>Welcome to my home page!</h1> <?php include 'vars.php'; echo "I have a $color $car."; ?> </body> </html>
So sánh include và require
Cả hai câu lệnh này đều được sử dụng để chèn một file PHP vào một file khác. Tuy nhiên, có một sự khác biệt giữa include và require khi xảy ra lỗi trong file được nhúng (chẳng hạn là file này không tồn tại hoặc không truy xuất được).
Chẳng hạn, trong ví dụ sau file noneExistFile.php không tồn tại. Nếu chúng ta nhúng file noneExistFile.php vào trong một file khác, sử dụng câu lệnh include thì kết quả trang này vẫn được thực thi bình thường.
<html> <body> <h1>Welcome to my home page!</h1> <?php include 'noneExistFile.php'; echo "No error. Executed."; ?> </body> </html>
Nhưng nếu chúng ta thay include bằng require thì sẽ có lỗi xuất hiện và trang hiện tại sẽ không được tiếp tục thực thi:
<html> <body> <h1>Welcome to my home page!</h1> <?php require 'noneExistFile.php'; echo "With error. Not executed."; ?> </body> </html>
Leave a Reply