Hướng dẫn dùng import require trong PHP

Trong khi làm bài tập hay xây dựng một dự án, ta không thể chỉ có duy nhất một file PHP được. Ta sẽ có nhiều file với các tác dụng khác nhau nhưng chắc chắc sẽ có file liên quan đến nhau và file này cần “sử dụng” một file khác. Vì vậy ta sẽ học được cách nhúng các file với nhau trong bài này!

Nội Dung

1. Các hàm nhúng file trong PHP

Trong PHP thì có hỗ trợ nhúng file với nhau bằng 4 câu lệnh sau:

  • Include
  • Include_once
  • Require
  • Require_once

Ta sẽ sử dụng những câu lệnh này để import một file PHP này vào một file PHP kia với mục đích file được nhúng sẽ sử dụng được các thư viện trong file mà không cần lặp lại code.

Ví dụ bạn đang xây dựng một ứng dụng quản lý sinh viên, lúc này bạn cần một số hàm kết nối và xử lý dữ liệu cho sinh viên thì bạn sẽ đặt nó trong một file student.php riêng và bất kì một file khác muốn sử dụng thì chỉ cần import file student.php đó vào bằng một trong các câu lệnh trên:

require "/quanly.php";
require_once "/quanly.php";
include "/quanly.php";
include_once "/quanly.php";
2. Include và require trong PHP

Câu lệnh includerequire cho phép ta nhúng một file khác vào file hiện tại và tất cả những gì ở file đó đều có thể sử dụng ở file được nhúng.

Cú pháp:

/* Nếu sử dụng include */
include '';

/* Nếu sử dụng require */
require '';

Ví dụ: tạo một file là demo.php với nội dung:

Ta sẽ sử dụng file demo này vào một file là index.php

Includerequire có cách xử lý khác nhau khi gặp lỗi:

  • require đưa ra thông báo lỗi và ngừng thực thi đoạn code bên dưới câu lệnh.
  • include đưa ra thông báo lỗi và vẫn tiếp tục thực thi các đoạn code bên dưới câu lệnh.

Do vậy nếu bạn muốn quá trình thực thi tiếp tục và đưa ra nội dung cuối cùng cho người dùng [user] ngay cả khi file cần nhúng bị mất hay bị lỗi thì bạn nên sử dụng câu lệnh include. Ngược lại, trong các trường hợp như FrameWork, CMS hoặc các ứng dụng PHP phức tạp, bạn luôn phải sử dụng câu lệnh require để nhúng các file quan trọng trong quá trình thực thi. Điều này giúp bạn tránh ảnh hưởng đến các ứng dụng cần bảo mật và tính toàn vẹn khi không may một file quan trọng bị mất.

3. Include_once và require_once trong PHP

Tương tự như 2 câu lệnh trên thì include_oncerequire_once thực hiện công việc nhúng các file với nhau.

Cú pháp:

/* Nếu sử dụng include_once */
include_once '';
/* Nếu sử dụng require_once */
require_once '';

Ví dụ:

Cách xử lý khi gặp lỗi của include_once giống với include và của require_once giống với require.

Điểm khác biệt là ở chỗ, khi sử dụng include hoặc require ta có thể nhúng nội dung của cùng một file nhiều lần bằng cách lặp lại câu lệnh. Còn với include_once hoặc require_once, nếu file đã được nhúng rồi thì việc lặp lại câu lệnh để nhúng lại nội dung của file đó sẽ không có ý nghĩa. Với hai câu lệnh này có thể tránh được việc người lập trình vô tình nhúng nhiều lần cùng một nội dung trong khi thực chất chỉ cần nhúng 1 lần là đủ.

4. Tác dụng của việc nhúng file trong

Trong PHP các đoạn code khác nhau bạn có thể bố trí ở nhiều file php khác nhau như là một thư viện, rồi bạn gộp chung lại trong một file PHP khi Server chạy. Có hai hàm để bạn làm điều này đó là include[]require[]. Điều này giúp bạn có thể xây dựng các thư viện chức năng để sử dụng lại ở nhiều file, hoặc giúp bạn dàn trang như là tạo phần header, footer, sidebar … trên các file riêng rồi ghép vào trang.

Đây là một điểm mạnh của PHP mà giúp đỡ trong việc tạo hàm, header, footer hay các phần tử có thể được tái sử dụng trong nhiều trang. Điều này sẽ giúp các lập trình viên dễ dàng thay đổi bố cục của web. Nếu có bất kì thay đổi nào được yêu cầu, thay vì phải thay đổi hàng nghìn file thì chỉ cần thay đổi file được bao.

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.

Nội dung chính

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:

Sử dụng câu lệnh include để chèn chân trang vào trang page1.php:



Welcome to VietTuts.Vn!

Some text.

Some more text.

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":

Sử dụng câu lệnh include để chèn menu và footer vào trang page2.php:




Welcome to VietTuts.Vn!

Some text.

Some more text.

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:

Sử dụng câu lệnh include để chèn file trên vào trang page3.php:


Welcome to VietTuts.Vn!

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:


Welcome to VietTuts.Vn!

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:

Chủ Đề