Không có sự khác biệt lớn giữa include
và include_once
. Sự khác biệt chính là bao gồm sẽ thêm tệp được chỉ định mỗi khi nó được gọi. Tuy nhiên, include_once
sẽ chỉ bao gồm tệp một lần và không bao giờ lặp lại
Các tệp được bao gồm dựa trên đường dẫn được đưa ra trong câu lệnh. Nếu không có đường dẫn nào được chỉ định, thì nó sẽ thử sử dụng include_path
được chỉ định trong tệp cấu hình của PHP. Cuối cùng, PHP sẽ kiểm tra thư mục của tập lệnh và thư mục làm việc hiện tại trước khi đưa ra cảnh báo
Khi sử dụng include
hoặc include_once
, PHP sẽ đưa ra cảnh báo nếu tệp được chỉ định không tồn tại, nhưng nó sẽ không dừng việc thực thi tập lệnh. Vì vậy, chỉ sử dụng include
khi tệp được chỉ định không cần thiết để chương trình của bạn hoạt động chính xác
Điều quan trọng cần nhớ là khi bạn bao gồm một tệp, nó sẽ kế thừa phạm vi biến của nơi nó được gọi. Vì vậy, ví dụ: nếu bạn bao gồm một tệp bên trong một hàm, các biến của nó sẽ chỉ khả dụng bên trong hàm mà bạn đã bao gồm tệp
Bạn nên sử dụng yêu cầu nếu bạn cần tập lệnh đưa ra lỗi nghiêm trọng và dừng thực thi bất cứ khi nào tệp được chỉ định không tồn tại. Vì vậy, cả bao gồm và yêu cầu đều có các trường hợp sử dụng riêng, vì vậy hãy suy nghĩ cẩn thận trước khi sử dụng chúng trong mã của bạn
Khi nào nên sử dụng bao gồm
Bạn sẽ muốn sử dụng include
trong những tình huống mà bạn cần thêm một tệp nhiều lần trong suốt tập lệnh. Ví dụ: bạn có một số đầu ra mà bạn muốn sử dụng ở một số nơi nhưng không muốn lặp lại cùng một mã liên tục
Nếu bạn không muốn bao gồm tệp nhiều lần, bạn sẽ cần sử dụng include_once
để thay thế. Tôi cũng khuyên bạn nên sử dụng include_once
nếu bạn bao gồm mã có thể gây ra sự cố sao chép mã
Để minh họa cách bạn có thể bao gồm cùng một tệp nhiều lần bằng cách sử dụng bao gồm, chúng tôi tạo một tệp PHP có tên là
- 1
- 2
- 3
6Bên trong tập lệnh PHP, chúng tôi có mã bên dưới. Chúng tôi gọi một tệp PHP có tên
- 1
- 2
- 3
7 hai lần bằng cách sử dụng câu lệnh include
My first include.
My Second include.
Nội dung của tệp
- 1
- 2
- 3
7 bên dưới. Nó là một danh sách không có thứ tự HTML đơn giảnTệp
- 1
- 2
- 3
7 nằm trong cùng thư mục với tệp_______0_______6
- 1
- 2
- 3
Đầu ra bên dưới là đầu ra HTML của các tệp PHP ở trên. Bạn có thể thấy tệp PHP của chúng tôi chứa danh sách HTML đã được đưa vào hai lần
My first include.
- 1
- 2
- 3
My Second include.
- 1
- 2
- 3
Khi nào nên sử dụng include_once
Như tên ngụ ý, PHP sẽ không bao gồm một tệp nhiều lần khi bạn sử dụng câu lệnh include_once
. Vì vậy, nó rất hữu ích để tránh các vấn đề trùng lặp, định nghĩa lại các hàm hoặc thậm chí các biến có giá trị được gán lại
Tôi khuyên bạn nên sử dụng include_once
khi bạn không muốn bao gồm một tệp nhiều lần. Nó cũng lý tưởng nếu bạn không chắc liệu tập tin đã được đưa vào hay chưa và bạn không muốn đưa nó vào lần nữa
Trong ví dụ của chúng tôi, chúng tôi có một tệp có tên
- 1
- 2
- 3
6 với nội dung bên dướiChúng tôi gọi tệp
- 1
- 2
- 3
7 hai lần bằng cách sử dụng include_once
để chứng minh cách thức hoạt động của câu lệnh trong PHP
My first include_once.
My Second include_once.
Nội dung của tệp
- 1
- 2
- 3
7 bên dưới. Nó là một danh sách không có thứ tự HTML đơn giản
- 1
- 2
- 3
Dưới đây là đầu ra HTML thô của hai tệp PHP của chúng tôi ở trên. Mã sẽ hiển thị chính xác trong trình duyệt web
Như bạn có thể thấy ở đầu ra, tệp của chúng tôi chỉ được đưa vào một lần
My first include_once.
- 1
- 2
- 3
My Second include_once.
Phần kết luận
Sử dụng include
hoặc include_once
trong mã PHP của bạn khá đơn giản và dễ hiểu. Tuy nhiên, nếu bạn nghĩ rằng chúng tôi có thể cải thiện hướng dẫn này, vui lòng để lại nhận xét ở cuối trang này
Nếu bạn chưa quen với PHP và muốn tìm hiểu thêm, tôi thực sự khuyên bạn nên xem một số hướng dẫn về PHP của chúng tôi. Chúng tôi đề cập đến rất nhiều chủ đề và luôn bổ sung thêm