Home PHP căn bản Bài 21: Những lệnh require, require_once, include, include_once in PHP và sự khác biệt giữa chúng

Bài 21: Những lệnh require, require_once, include, include_once in PHP và sự khác biệt giữa chúng

by Tân Hồng IT

Các lệnh require, require_once, include, include_once trong PHP dùng để làm gì và tại sao ta cần phải học và vì sao cần phải áp dụng cực kỳ nhiều trong những dự án sau này của chúng ta? Các bạn hãy đọc qua bài viết này đễ hiểu về chúng nhé!

Để xây dựng một trang web bằng PHP thì đòi hỏi bạn phải sẽ phải code với số lượng rất lớn và phức tạp, và có thể lên đến hàng trăm hàng ngàn line, vì vậy nếu chúng ta chỉ code nó trong một file PHP duy nhất thì rất là tệ hại bởi rất khó để nâng cấp và bảo trì chúng. Chính vì thế chúng ta cần phải chia nhỏ code ra các file ra theo từng chức năng hay một quy chuẩn nào đó do các bạn đặt ra để dễ quản lý và bảo trì sau này.

Hầu hết với mọi ngôn ngữ lập trình đều nên sử dụng phương pháp tách nhỏ code ra nhiều file để quản lý. Và để các file đó có thể liên kếtkết hợp hoàn hảo với nhau ta sẽ sử dụng lệnh. Ví dụ, với C++ hay C# thì chúng ta có lệnh #include dùng để import các thư viện vào một file và sử dụng, còn trong PHP cũng có các lệnh tương tự đó là lệnh require, require_once, includeinclude_once.

require require_once include include_once php

Những lệnh require, require_once, include, include_once in PHP và sự khác biệt giữa chúng

Giới thiệu require, require_once, include, include_once trong PHP

Lệnh requirerequire_onceinclude và include_once dùng để import một file PHP A vào một file PHP B với mục đích giúp file PHP B có thể sử dụng được các function, các định nghĩa hay các thư viện trong file PHP A.

Bạn hãy tạo hai file để chúng ta thực hành với bài học này nhé!

Tạo file file có tên là index.phpfunction.php sau đó bạn hãy code theo ví dụ của snippet bên dưới. (Bạn nhớ tạo hai file này trong cùng một cấp thư mục nhé!)

<?php 
function showMess()
{
    echo "Xin chào bạn đến với khóa học PHP căn bản";
}
?>
<?php 
showMess();
?>

Sau khi code xong ví dụ trên bạn chạy file index.php lên sẽ thấy lỗi báo không tìm thấy hàm showMess() ngay. Và đây chính là lúc để áp dụng bốn câu lệnh mà chúng ta sẽ học để sửa bài code trên rồi đó.

Cả bốn lệnh đều có chung cú pháp như sau:

require "fumction.php";
require_once "fumction.php";
include "fumction.php";
include_once "fumction.php";

//hoặc cũng có thể khai báo theo cách dưới đều đùng cả
require ("fumction.php");
require_once ("fumction.php");
include ("fumction.php");
include_once ("fumction.php");

Chúng ta sẽ đi chi tiết vào từng lệnh và áp dụng để sửa lại bài code đang còn thiếu phía trên nhé!

Include, include_once

Lệnh include

Lệnh include cho phép chúng ta import một file khác vào file hiện tại và tất cả những tài nguyên của file đó đều có thể sử dụng đc ở file đang nhúng.

include "path";
//hoặc
include ('path');

//trong đó: path là đường dẫn đến file cần nhúng.

Quay lại bài code ví dụ ở phần giới thiệu, để file index.php có thể hiểu được hàm showMess() thì ta cần phải nhúng file function.php vào file index.php

Vậy chúng ta sẽ phải chỉnh sửa trong file index.php như sau:

<?php 
// Import file function.php
include "function.php";

showMess();
?>

Bây giờ thì bạn có thể chạy lại file index.php rồi đó. Kết quả xuất ra màn hình: Xin chào bạn đến với khóa học PHP căn bản

Lệnh include_once

Lệnh include_once cũng giống như lệnh include nhưng khi sử dụng nó bạn chỉ có thể nhúng được một file một lần duy nhất trong một file, nghĩa là khi bạn nhúng 1 file 2 lần trong 1 file thì chương trình sẽ chỉ nhận lần khai báo một mà không báo lỗi gì cả.

Ví dụ: Bạn dùng tiếp code ở phần giới thiệu để làm tiếp, chỉnh sửa lại file index.php như sau:

Đầu tiên mình sẽ sử dụng include để test trước.

<?php 
// Import file function.php hai lần
include "function.php";
include "function.php";

showMess();
?>

Các bạn thấy mình đã include file function.php 2 lần, bạn hãy thử chạy file index.php thì sẽ thấy nó xuất hiện cảnh bảo ngay.

Còn nếu bạn sử dụng include_once thì cho dù có bị lặp lại bao nhiêu lần đi nữa mặc định nó sẽ vẫn chỉ nhúng một lần duy nhất và hoạt động bình thường.

<?php 
// Import file import.php
include_once "function.php";
include_once "function.php";

showMess();
?>

Giờ các bạn thử chạy file index.php lên và xem kết quả nhé!

Require, require_once

Lệnh require

Về cơ bản thì cấu trúc và công dụng của lệnh này không khác gì so với include cả. Tác dụng của nó vẫn là import một file khác vào file hiện tại và tất cả những tài nguyên của file đó đều có thể sử dụng đc ở file đang nhúng.

Cú pháp như sau:

<?php
require "path";
//hoặc
require ('path');

//path là đường dẫn đến file cần nhúng.
?>

Ví dụ: nhúng function.php vào file index.php bằng require.

<?php 
// Import file function.php
require "function.php";
showMess();
?>

Và cũng giống như include, nếu bạn cố ý require nhiều lần thì nó không có hiện cảnh báo giống như include nữa mà sẽ xuất hiện thẳng lỗi trên màn hình luôn.

Lệnh require_once

Cũng không khác gì include_once cả, tác dùng của nó vẫn là chỉ có thể nhúng được một file với một lần duy nhất trong một file mà thôi.

<?php 
// Import file function.php
require_once "function.php";
showMess();
?>

So sánh giống và khác giữa include, include_once, require, require_once

Giống và khác giữa require – include

Giống: Đều nhúng(import) một file khác vào file hiện tại, nếu file được import 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 cảnh báo để mình biết file đó bị lỗi.

require_once – include_once

Cả hai lệnh trên đều có những điểm giống và khác nhau tương tự như require – include vậy, chỉ có điều hai lệnh này là hai dạng biến đổi của require – include mà thôi.

Mục đích: Cả hai đều có mục đích rằng nếu file bạn muốn import đã được import ở trước đó rồi, thì bây giờ bạn sẽ không chèn lại được nữa.

Chính vì thế mà trong khi lập trình với PHP, đa số trường hợp bạn nên sử dụng hai lệnh require_once – include_once thay vì sử dụng require – include để tránh các lỗi xảy ra.

Kết thúc

Qua bài này mình đã giới thiệu cách sử dụng các lệnh require, require_once, include và include_once trong PHP cũng như so sánh sự khác biệt giữa các lệnh trên. Mong các bạn có thể hiểu rõ để áp dụng vào mọi dự án của bản thân nhằm nâng cao tính bảo trì và nâng cấp dự án của các bạn sau này!

Nếu các bạn cảm thấy Website TanHongIT.Com thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!

Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!

CHÚC CÁC BẠN THÀNH CÔNG VÀ VUI VẺ

Related Posts

Leave a Comment