Thứ Tư, 27 Tháng Mười Một 2024
Trang chủPHP & MysqlPHPinclude, include_once, require, require_once trong PHP - Nhập file

include, include_once, require, require_once trong PHP – Nhập file

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.

DANH SÁCH BÀI VIẾT
Hàm mã hóa sha1() trong PHP - Hàm băm SHA-1 PHP
Hàm mã hóa dữ liệu MD5 trong PHP- Hàm Băm MD5 - md5 Hash
Hàm Empty trong PHP - Cách Sử Dụng và Hiểu Đúng Về Nó
isset trong php - Hàm isset php kiểm tra tồn tại của một biến
include, include_once, require, require_once trong PHP - Nhập file

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.

Cấu trúc thư mục code

>>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.

include, include_once, require, require_once trong PHP - Nhập file

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.

include, include_once, require, require_once trong PHP - Nhập file

>>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.

include, include_once, require, require_once trong PHP - Nhập file

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ụ include_one

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.

Ví dụ include

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.

Ví dụ include_one

>>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 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.

Ví dụ về require

Đ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.

Ví dụ về require

>>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_oncerequire_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
0 0 Phiếu bình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN
Đăng ký nhận thông báo
Thông báo email khi
guest
0 Bình luận
Không thể gửi email
Phản hồi nội tuyến

NÊN ĐỌC THÊM

Bạn muốn tìm kiếm gì?

Dịch vụ code thuê

TUICOCACH.COM NHẬN ĐẶT TEXTLINK, BANNER, GP
0
Giáo sư! có thể ném gạch bên dưới nhé!x