- Trang chủ
- Hướng dẫn học
- Học PHP
- PHP include và require
Định nghĩa và cách dùng include và require
- ContentContent
- Đối với những phần dùng chung này, ta tách riêng ra 1 file PHP, sau đó sử dụng ContentContent
- Điều này tiện lợi cho việc chỉnh sửa, thay vì chỉnh nhiều trang, giờ thì ta chỉ việc chỉnh file PHP đã tách riêng là được.
Sự khác biệt giữa
ContentContent- ContentContentContentContent
- ContentContentContentContent
include
- Được dùng để chèn một file PHP vào một file PHP khác.
Cấu trúc
Ví dụ:
Content
Ta thấy nội dung 2 file header.php và footer.php đã được thêm vào.header.php và footer.php đã được thêm vào.
Download file ví dụ
include với file không tồn tại
// Giả sử file header.php không cóContent
Warning: include[header.php]: failed to open stream: No such file or directory in C:\xampp\htdocs\example\index.php on line 1: include[header.php]: failed to open stream: No such file or directory in C:\xampp\htdocs\example\index.php on line 1
Warning: include[]: Failed opening 'header.php' for inclusion [include_path='.;C:\xampp\php\PEAR'] in C:\xampp\htdocs\example\index.php on line 1: include[]: Failed opening 'header.php' for inclusion [include_path='.;C:\xampp\php\PEAR'] in C:\xampp\htdocs\example\index.php on line 1
Content
Ta thấy trình duyệt gửi cảnh báo, tuy nhiên những PHP vẫn thực thi những đoạn code bên dưới.
require
- Được dùng để chèn một file PHP vào một file PHP khác, file được chèn bắt buộc phải tồn tại, nếu không sẽ không thực thi những đoạn code tiếp theo.
- Thường được dùng để chèn nội dung kết nối database, function login, payment, ...
- Cách sử dụng tương tự như Content
Cấu trúc
Ví dụ:
Ta thấy nội dung 2 file header.php và footer.php đã được thêm vào.
Download file ví dụheader.php và footer.php đã được thêm vào.
Download file ví dụ
include với file không tồn tại
// Giả sử file header.php không cóContent
Warning: include[header.php]: failed to open stream: No such file or directory in C:\xampp\htdocs\example\index.php on line 1: require[header.php]: failed to open stream: No such file or directory in C:\xampp\htdocs\example\index.php on line 1
Warning: include[]: Failed opening 'header.php' for inclusion [include_path='.;C:\xampp\php\PEAR'] in C:\xampp\htdocs\example\index.php on line 1: require[]: Failed opening required 'header.php' [include_path='.;C:\xampp\php\PEAR'] in C:\xampp\htdocs\example\index.php on line 1
Content
Ta thấy trình duyệt gửi cảnh báo, tuy nhiên những PHP vẫn thực thi những đoạn code bên dưới.
require
/đường_dẫn_file/tên_file [trong trường hợp phân cấp thư mục], khắc phục tình trạng này có 2 cách:
Được dùng để chèn một file PHP vào một file PHP khác, file được chèn bắt buộc phải tồn tại, nếu không sẽ không thực thi những đoạn code tiếp theo.
Thường được dùng để chèn nội dung kết nối database, function login, payment, ...
Content
Download file ví dụ
include với file không tồn tại
Content
Download file ví dụ
- Hàm include
- Hàm include_once
- Hàm require và require_once
Trong PHP các đoạn code khác nhau bạn có thể bố trí ở nhiều file mã nguồn [thường có phần mở rộng .php] khác nhau, rồi khi một file script php chạy nó có thể nạp và chạy code bạn viết ở các file khác nhau. Bạn có thể dùng hàm [lệnh] include, require và include_once, require_once để thực hiện nạp và chạy file. Điều này giúp bạn có thể xây dựng các thư viện chức năng, tổ chức code nhiều file theo logic nào đó, để dễ bảo trì và mở rộng. include, require và include_once, require_once để thực hiện nạp và chạy file. Điều này giúp bạn có thể xây dựng các thư viện chức năng, tổ chức code nhiều file theo logic nào đó, để dễ bảo trì và mở rộng.
Lệnh
6 đọc nội dung của file, thi hành nó. Cú pháp:Content
include 'ten-file-php.php'
Giả sử bạn tạo một menu chung cho các trang. Thì bạn có thể tạo file
3 với nội dung như sau:Home - Lập trình PHP - HTML - Liên hệ
Với file
3 này bạn có thể gộp nó vào các file khác, ví dụ bạn tạo file 5:0Content
Khi thực hiện include thì phạm vi [khu vực hiệu lực của biến, các biến có hiệu lực tại dòng include thì cũng hiệu lực trong file ngoài], đối với các khai báo hàm, class khai báo trong file ngoài thì có phạm vi toàn cục.include thì phạm vi [khu vực hiệu lực của biến, các biến có hiệu lực tại dòng include thì cũng hiệu lực trong file ngoài], đối với các khai báo hàm, class khai báo trong file ngoài thì có phạm vi toàn cục.
Trong file ngoài có nếu có mệnh đề return thì nó trả về tại đó, có thể có giá trị trả về [code sau return không thực thi]return thì nó trả về tại đó, có thể có giá trị trả về [code sau return không thực thi]
mgs.php
1Content
file1.php
2Content
Một file ngoài đơn thuần tính toán xuất kết quả trả về có thể include nhiều lần, nhưng nếu file đó có định nghĩa function, class ... thì nếu include lại thì là định nghĩa lại - sẽ không được phép, phát sinh lỗi.
Chạy file1.php kết quả in ra:
3Content
Hàm include_once trong PHP
Hàm include_once chức năng giống hệt include, điều khác duy nhất nếu một file đã từng được nạp vào thì include_once lần 2, 3 sẽ không làm gì [không nạp lại].include_once chức năng giống hệt include, điều khác duy nhất nếu một file đã từng được nạp vào thì include_once lần 2, 3 sẽ không làm gì [không nạp lại].
tinhtoan.php
4Content
file2.php
5Content
Nếu trong file2.php bạn sử dụng include thì sẽ dẫn tới lỗi, vì tinhtoan.php có định nghĩa hàm, nếu include lại thì định nghĩa lại hàm, không được phép.include thì sẽ dẫn tới lỗi, vì tinhtoan.php có định nghĩa hàm, nếu include lại thì định nghĩa lại hàm, không được phép.
Hàm require và require_once
Chức năng hàm require thì giống hệt include, còn require_once giống include_once. Điều khác là nếu file không tồn tại thì include/include_once phát lỗi Warning, script có thể vẫn chạy tiếp, còn với require/require_once sẽ phát lỗi Error, script sẽ dừng ngay lập tức.require thì giống hệt include, còn require_once giống include_once. Điều khác là nếu file không tồn tại thì include/include_once phát lỗi Warning, script có thể vẫn chạy tiếp, còn với require/require_once sẽ phát lỗi Error, script sẽ dừng ngay lập tức.