include, include_once, require, require_once trong PHP – Các hàm Import file(Nhập file). Trong một dự án thực tế thì số lượng code có thể sẽ rất nhiều, dài và loằng ngoằng phức tạm khó theo dõi cũng như chỉnh sửa. Vì thế chúng ta cần phải chia nhỏ các file ra theo chức năng hay một quy chuẩn nào đó do các bạn đặt ra để dễ quản lý code của mình hơn, và bài hôm nay chúng ta sẽ giải quyết vấn đề đó thông qua các hàm include, include_once, require, require_once trong PHP.
include, include_once, require, require_once trong PHP
Các hàm include, include_once, require, require_once trong PHP đều được dùng để nhập files(import files) từ một file này vào một file khác. Tức là từ một file a chúng ta sẵn có các đoạn code, chúng ta có thể import file a này vào file b hiện tại bằng các hàm như trên(Thêm toàn bộ nội dung file a vào file b). Lúc này chúng ta có thể sử dụng mọi thứ mà file a có trong file b.
Trước khi đi vào tìm hiểu cũng như thực hành từng hàm include, include_once, require, require_once trong PHP – Các hàm Import file. Bạn chuẩn bị cho mình hai file là index.php
và file function.php
cùng cấp thư mục và với mỗi hàm có nội dung như sau:
index.php
<?php
showMess();
?>
functions.php
<?php
function showMess()
{
echo "TUICOCACH.COM | Nếu bạn thấy dòng này là thành công rồi đấy";
}
?>
Mình đặt tên thư mục dự án là DEMO, cấu trúc sẽ như thế này.
>>XEM THÊM: Hướng dẫn cài đặt XAMPP – Phần mềm máy chủ web(Web Server)
1. Hàm include
Hàm include cho phép bạn nhập một tệp vào tệp hiện tại. Nếu tệp không tồn tại hoặc có lỗi, nó sẽ hiển thị một cảnh báo và các đoạn code bên dưới vẫn sẽ tiếp tục được thực hiện.
Cú pháp include
include 'ten_tep.php';
Trong đó: ten_tep.php là tên của tệp nếu 2 tệp có cùng cấp thư mục. Hoặc ten_tep.php sẽ là một đường dẫn tệp(path) tương đối hoặc tuyệt đối nếu khác cấp thư mục.
include 'Tenthumuc/ten_tep.php'; //Thư mục chứa tệp a cùng cấp với tệp hiện tại
include '../Tenthumuc/ten_tep.php'; //Thư mục chứa tệp a cùng cấp với thư mục chưa tệp b(tệp a và b cùng cấp nhưng khác thư mục) (Dấu ../ có tác dụng lùi về 1 cấp thư mục)
include '../../Tenthumuc/ten_tep.php';
include 'C:\xampp\htdocs\DEMO/Tenthumuc/ten_tep.php'; //Đường dẫn tuyệt đối
Ví dụ: Mình sẽ lấy ví dụ nhập file functions.php vào file index.php bằng hàm include và chạy thử kết quả.
Kết quả chạy file index.php trước khi chưa nhập file functions.php vào.
Báo lỗi dòng số 2 là hàm showMess không được khai báo.
Và bây giờ sửa lại code và nhập file functions.php vào file index.php bằng include nhé.
<?php
include "functions.php";
showMess();
Kết quả là file index.php đã có thể chạy bình thường.
>>XEM THÊM: Hằng số trong PHP – Khái niệm, cách khai báo và sử dụng
2. Hàm include_one
Giống như include, nhưng include_one sẽ chỉ nhập tệp một lần duy nhất trong tệp hiện tại. Nếu bạn đã nhập tệp này trước đó, nó sẽ không thực hiện lại. Tức là bạn có cố gắng hay cố tình gọi nhiều lần include_one tới cùng 1 file, thì nó cũng sẽ chỉ thực hiện lần đầu tiên và bỏ qua các lần sau đó.
Cú pháp include_one
include_once 'ten_tep.php';
Ví dụ 1:
Trước tiền hãy thử thêm file functions.php 2 lần bằng hàm include.
<?php
include "functions.php";
include "functions.php";
showMess();
Kết quả là ngay lập tính nó sẽ báo lỗi, cụ thể lỗi ở đây nó báo là hàm showMess() đã tồn tại trước đó và không thể khai báo lại.
Nguyên nhân là vì ta thực hiện 2 lần nhập file functions.php, với lần nhập đầu tiên chương trình đã nhập file thành công. Khi thực hiện lệnh nhập include thứ 2 hai, lúc này hàm showMess() đã có từ trước đó nên chương trình sẽ gây ra lỗi (thực hiện nhập 2 lần tương đương hàm showMess() được khai báo 2 lần)
Bây giờ ta thay hàm include bằng lệnh include_one.
<?php
include_once "functions.php";
include_once "functions.php";
showMess();
Kết quả là chương trình đã có thể chạy lại bình thường, bởi vì include_once sẽ chỉ thực hiện nhập cùng một file 1 lần duy nhất.
Ví dụ 2: Bây giờ tạo thêm 1 file là show_text.php chỉ echo 1 đoạn văn bản nhé.
show_text.php
<?php
echo "Chào mừng bạn đến với blog TUICOCACH<br>";
Nhập file này 3 lần bằng include.
<?php
include "show_text.php";
include "show_text.php";
include "show_text.php";
Kết quả là là đoạn text được hiển thị 3 lần.
Nhập file này 3 lần bằng include_one.
<?php
include_once "show_text.php";
include_once "show_text.php";
include_once "show_text.php";
Kết quả là là đoạn text chỉ được hiển thị 1 lần duy nhất.
>>XEM THÊM: Khóa học lập trình Android từ cơ bản đến thành thạo – Giảm ngay 40%
3. Hàm require
Tương tự như include, nhưng nếu tệp không tồn tại hoặc có lỗi, nó sẽ hiển thị một lỗi và dừng thực thi mã ngay lập tức và không chạy xuống các đoạn code bên dưới nó.
Cú pháp
require 'ten_tep.php';
Ví dụ: Thử nhập tệp test.php bằng include và require, và tất nhiên là tệp này hoàn toàn không tồn tại. Và mình sẽ để 1 đoạn văn bản bên dưới cú pháp nhập file xem đoạn văn bản đó có được hiển thị không nhé.
Đoạn code với include
<?php
include "test.php";
echo "<p style='color: #f00'>_______________CODE CHẠY XUỐNG ĐÂY NÈ__________________</p>";
Đoạn văn bản ” _______________CODE CHẠY XUỐNG ĐÂY NÈ__________________” vẫn được hiển thị dù đoạn code bên trên báo lỗi.
Đoạn code với require
<?php
require "test.php";
echo "<p style='color: #f00'>_______________CODE CHẠY XUỐNG ĐÂY NÈ__________________</p>";
Kết quả là đoạn văn bản không còn được hiển thị, vì require khi lỗi code sẽ dừng thực thi ngay lập tức.
>>XEM THÊM: Hướng dẫn $_GET và $_POST trong PHP – Nhận dữ liệu từ form
4. Hàm require_one
Giống như require, khi lỗi code sẽ dừng thực thi ngay lập tức, nhưng require_one cũng sẽ tương tự include_one chỉ nhập tệp một lần duy nhất. Nếu bạn đã nhập tệp này trước đó, nó sẽ không thực hiện lại.
Cú pháp require_one
require_once 'ten_tep.php';
Ví dụ phần này thì mình xin phép bỏ qua.
>>XEM THÊM: Session và Cookie trong PHP – Hướng dẫn Session và Cookie
Kết luận
Vậy chúng ta đã vừa cùng nhau tìm hiểu về các hàm include, include_once, require, require_once trong PHP – Các hàm nhập tệp trong PHP.
include, include_once, require, require_once sẽ được sử dụng tùy thuộc vào từng trường hợp mong muốn. Khi import file gặp lỗi ta muốn code dừng thực hiện thì sử dụng require ngược lại muốn code vẫn được thực hiện tiếp thì dùng include.
Trong các trường hợp ta cần thiết import một file vào file hiện tại 2 hay nhiều lần thì include_once và require_once sẽ không được sử dụng. 2 hàm này dùng khi ta chỉ cần hoặc chỉ được import file đó một lần duy nhất.
CẢM ƠN BẠN ĐÃ ĐỌC HẾT BÀI VIẾT! CHÚC BẠN HỌC TỐT!
[XEM TẤT CẢ BÀI VIẾT CHUYÊN MỤC HƯỚNG DẪN PHP TẠI ĐÂY]
XEM THÊM Toán tử 3 ngôi trong lập trình PHP – Toán tử điều kiện PHP Ép kiểu dữ liệu trong PHP Sự khác nhau giữa toán tử so sánh “==” và “===” trong PHP Mảng (Array) trong PHP – Tìm hiểu về mảng trong lập trình PHP MySql là gì? Tìm hiểu về hệ quản trị cơ sở dữ liệu MySql Tìm hiểu câu lệnh IF, IF ELSE, ELSE trong PHP Cấu Trúc Rẽ Nhánh Switch … Case trong PHP | Học PHP cơ bản Hiểu vòng lặp for, while, do…while ngôn ngữ PHP trong 5 phút Mã nguồn website thương mại điện tử – Cửa hàng Chương Mobil