Để sử dụng các đoạn mã bên ngoài, chúng ta có thể sử dụng khai báo tiền xử lý include và require. Cho phép chúng ta xây dựng các hàm các hằng số, và bất kỳ đoạn mã nào sau đó có thể chèn vào các đoạn kịch bản.
Require khác include là, nó có thể làm thay đổi nội dung của trang hiện tại khi biên dịch, các trang này dùng để khai báo các biến, các hằng số hay các đoạn mã đơn giản khơng có vịng lặp. Khi đó include cho phép thực hiện các câu lệnh phức tạp – có câu lệnh tạo chu trình. Nó chỉ sử dụng các hàm như những hàm ngồi của chương trình. Ví dụ: Header Menu_main Memu_left Content Hot information Fooder 1. REQUIRE a. Cách sử dụng
Đối với phương thức require(), tất cả nội dung bên trong file được chèn vào sẽ được biên dịch.
Khi chúng ta muốn sử dụng đoạn chương trình đã được viết sẵn ở vị trí nào trong trang thì chúng ta chỉ cần dùng require() để chèn file chứa đoạn chương trình này ở vị trí đó. Cú pháp:
require("tên và đường dẫn của tập tin"); Ví dụ:
Đoạn chương trình dưới đây được viết ở trang chao.php
<?php
echo "Hello my class";
?>
Cịn đoạn chương trình dưới được viết ở trong home.php
<?php
echo "Đây là đoạn chương trình hướng dẫn học PHP và MYSQL<br>"; require("chao.php");
echo "<br>Đã đến với chương trình này";
?>
b. Các tập tin được dùng trong require()
PHP không quy định cách đặt tên tập tin được chèn vào bằng require(). Vì vậy, chúng ta có thể đặt tên tập tin tùy ý. Khi chúng ta dùng require() để chèn tập tin này vào, nội dung của tập tin sẽ trở thành một phần trong trang web.
Thông thường, các câu lệnh PHP được viết trong các tập tin .html sẽ không thực hiện được. Chúng sẽ thực hiện được khi chúng được viết dưới trong các tập tin .php. Vì vậy,
khi viết các câu lệnh PHP trong các tập tin được dùng để chèn này, ta nên chọn kiểu tập tin thích hợp như . inc hay . php để các lệnh này có thể biên dịch được khi thực thi.
c. Thẻ PHP và require()
Các lệnh PHP cần phải được bao bởi cặp thẻ PHP <?php và ?>. Nếu chúng ta khơng có thẻ PHP <?php và ?> khi viết lệnh PHP thì các lệnh PHP này sẽ trở thành dạng văn bản hoặc HTML và không thể thực thi được.
d. Dùng require() cho các template
Nếu ứng dụng web của chúng ta có cùng một mẫu thiết kế nhưng chỉ khác nhau về nội dung bên trong thì chúng ta sẽ tạo ra một mẫu template và chỉ cần khai báo các biến trình bày dữ liệu bên trong template.
Khi template này được thực thi, tất cả các biến này sẽ có giá trị và trình bày như một định dạng template được sử dụng nhiều lần.
Ví dụ: Thơng thường trong ứng dụng web phần header và fooder thường được hiển thị ở hầu hết các trang, vì vậy ta sẽ tạo ra trang header.php và fooder.php để chứa định dạng và nội dung phần cuối trang. Sau đó, ở trang nào của ứng dụng có sử dụng header và fooder thì chúng ta sẽ chèn hai trang này vào.
Điểm đặc biệt và quan trọng nhất của kết hợp này là sau khi chúng ta đã thực hiện nhiều trang có chèn các trang header.php và fooder.php, chúng ta có thể dễ dàng thay đổi trang header.php và fooder.php này. Và chỉ cần lưu lại các thay đổi thì tất cả các trang đã chèn các trang này sẽ tự động thay đổi.
2. INCLUDE
a. Cách sử dụng
include() cũng có cách sử dụng tương tự require(). Tuy nhiên, chúng có một điểm khác nhau cần phải lưu ý đó là khi nội dung bị lỗi thì dùng require() sẽ xuất hiện thơng báo lỗi, trong khi đó dùng include() sẽ chỉ xuất hiện cảnh báo.
Trong những tập tin có dùng require() thì ta khơng nên sử dụng các câu trúc điều khiển vì sẽ khơng hiệu quả.
Cú pháp:
include("tên tập tin và đường dẫn đến tập tin"); Ví dụ: Trang tính tốn có nội dung như sau: <?php if($a ==1) { require("tinh_tong.php"); } else { require("tinh_hieu.php"); } ?>
Trong ví dụ này khi thực thi trang tinh_toan.php, nội dung bên trong cả hai tập tin là tinh_tong.php và tinh_hieu.php đều được biên dịch, trong khi đó chỉ có một trong hai trường hợp đúng và chỉ cần biên dịch một tập tin khi thỏa mãn điều kiện đúng là đủ. Như vậy, dùng require() trong trường hợp này sẽ khơng cịn thích hợp, thay vào đó chúng ta dùng include().
<?php if($a ==1) {
include("tinh_tong.php"); } else { include("tinh_hieu.php"); } ?> b. require_once() và include_once()
Hàm require_once() và include_once() là hai dạng biến đổi của hàm require() và include().
Mục đích của hai hàm này trở nên hữu ích khi chúng ta bắt đầu sử dụng chúng để chèn các thư viện và các hàm vào, sử dụng các cấu trúc này giúp chúng ta tránh được việc chèn cùng một hàm hay thư viện lần thứ hai bởi khi hàm khai báo lại một hàm đã được xây dựng sẽ được phát sinh lỗi.
Việc chèn vào hai lần cùng một tập tin thường xẩy ra khi xây dựng các ứng dụng lớn, khi nhiều tập tin thư viện khác nhau được chèn vào trong cùng một require_once() hay include_once() thì trong lần đầu tiên cách thức hoạt động của nó cũng giống như require() hay include(). Tuy nhiên, require_once() và include_once() nếu được gọi để chèn tập tin đã được chèn thì file này sẽ không chèn vào nữa. Hàm này là một công cụ thông minh cho việc tạo ra các thư viện dùng lại.