Include, require trong PHP

Lệnh include/ require trong PHP sẽ lấy tất cả các văn bản, đoạn code ... trong các file có sẵn và sao chép nó vào file hiện tại có sử dụng lệnh include/ require.

Lệnh include/ require rất hữu ích khi chúng ta muốn gom nhiều file/ mã lệnh trên những trang khác (trang PHP, HTML ...) và thể hiện chúng trên cùng một trang.

Include và Require trong PHP


Chúng ta có thể chèn nội dung của một file PHP này, vào nội dung của một file PHP khác (trước khi máy chủ biên dịch và thực thi các câu lệnh) bằng cách sử dụng các lệnh include hoặc require.

Về cấu trúc ngữ pháp và thực thi, thì includerequire có tính chất tương tự nhau, ngoại trừ khi gặp lỗi

  • require: Khi thực hiện lệnh, nếu gặp lỗi nghiêm trọng thì sẽ đưa ra một cảnh báo và sẽ dừng thực thi các tập lệnh
  • include: Khi thực hiện lệnh, nếu gặp lỗi nghiêm trọng thì sẽ đưa ra một cảnh báo và tiếp tục thực thi các tập lệnh

Nếu chúng ta muốn quá trình thực thi file PHP tiếp tục và hiển thị kết quả thực thi cuối cùng, ngay cả khi lệnh include bị lỗi, hãy sử dụng câu lệnh include. Mặt khác, trong trường hợp làm việc với các FrameWork, CMS hoặc ứng dụng PHP phức tạp, hãy luôn sử dụng câu lệnh require để đưa code file vào quy trình thực thi chuẩn xác. Điều này sẽ giúp chúng ta tránh bị ảnh hưởng đến tính bảo mật và tính toàn vẹn của ứng dụng, đề phòng trường hợp vô tình bị thiếu một đoạn code nào đó trong file php.

include các file giúp chúng ta tiết kiệm rất nhiều thời gian viết code. Điều này có nghĩa là chúng ta có thể tạo các file header, footer hoặc menu chuẩn cho tất cả các trang web của mình. Sau đó, khi file header cần được cập nhật hay chỉnh sửa nội dung, chúng ta chỉ cần cập nhật một file đã include là file header đã tạo sẵn.

Cú pháp

include 'filename';

or

require 'filename';

Một số ví dụ về Include


Ví dụ 1

Giả sử chúng ta có một tệp php tiêu chuẩn tên là "footer.php" giống như sau.

<?php
echo "<p>Copyright © 2010-" . date("Y") . " Book-code.com.vn</p>";
?>

Để thêm tệp footer.php vào trong một trang, chúng ta sử dụng câu lệnh include.

Ví dụ

<body>

<h2>Ví dụ về câu lệnh include</h2>

<p>Văn bản paragraph.</p>

<p>Văn bản paragraph.</p>

<?php
include 'footer.php';
?>

Xem kết quả

Ví dụ 2

Giả sử chúng ta có một tệp menu tiêu chuẩn tên là "menu.php"

<?php
echo '<a href="/">Home</a> -
<a href="/html">HTML</a> -
<a href="/css">CSS</a> -
<a href="/js">JavaScript</a> -
<a href="/php">PHP</a>';
?>

Tất cả các trang trong trang Web đều sử dụng tệp menu này. Đây là cách nó có thể được hoạt động (chúng ta sẽ sử dụng phần tử <div> để menu có thể dễ dàng được tạo kiểu bằng CSS sau này).

Ví dụ

<div class="menu">
<?php
include "menu.php";
?>
</div>

<h2>Ví dụ về câu lệnh include</h2>

<p>Văn bản paragraph.</p>

<p>Văn bản paragraph.</p>

Xem kết quả

Ví dụ 3

Giả sử chúng ta có một tệp tên là "vars.php", với một số biến được xác định.

<?php
$color='red';
$car='BMW';
?>

Sau đó, chúng ta sẽ include tệp "vars.php", và các biến có thể được sử dụng trong tệp đang gọi.

Ví dụ

<h2>Ví dụ về câu lệnh include</h2>

<?php
include "vars.php";
echo "Tôi có một chiếc xe ".$car.", màu ".$color;
?>

Xem kết quả

PHP - Include so với Require


Câu lệnh require cũng được sử dụng để đưa một tệp 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 tệp được thêm bằng cầu lệnh include và PHP không thể tìm thấy nó, tập lệnh vẫn sẽ tiếp tục thực thi.

Ví dụ

<h2>Ví dụ về câu lệnh include</h2>

<?php
include "noFile.php";
echo "Tôi có một chiếc xe ".$car.", màu ".$color;
?>

Xem kết quả

Nếu chúng ta thực hiện cùng một ví dụ bằng cách sử dụng câu lệnh require, câu lệnh echo sẽ không được thực thi vì quá trình thực thi tập lệnh bị ngắt sau khi câu lệnh require trả về một lỗi nghiêm trọng.

Ví dụ

<h2>Ví dụ về câu lệnh include</h2>

<?php
require "noFile.php";
echo "Tôi có một chiếc xe ".$car.", màu ".$color;
?>

Xem kết quả

Sử dụng require khi tệp được ứng dụng yêu cầu.
Sử dụng include khi tệp không được yêu cầu và ứng dụng sẽ tiếp tục khi không tìm thấy tệp.