Sự khác biệt giữa bao gồm và yêu cầu trong php là gì?

Tôi đã được hỏi vào một ngày khác về sự khác biệt giữa includerequire trong PHP là gì. Chúng dường như hoạt động giống nhau nhưng có một sự khác biệt đáng kể

Đầu tiên, cả includerequire đều không phải là hàm, chúng là cấu trúc. Do đó, không cần thiết phải gọi chúng bằng cách sử dụng dấu ngoặc đơn như include('file.php');

Sự khác biệt giữa includerequire phát sinh khi không thể tìm thấy tệp được đưa vào. include sẽ phát ra cảnh báo (_______2_______0) và tập lệnh sẽ tiếp tục, trong khi đó, require sẽ phát ra lỗi nghiêm trọng (include2) và tạm dừng tập lệnh. Nếu tệp được đưa vào là quan trọng đối với phần còn lại của tập lệnh đang chạy chính xác thì bạn cần sử dụng require

Bạn nên phát hiện bất kỳ lỗi nghiêm trọng nào do require gây ra trong quá trình phát triển và có thể giải quyết chúng trước khi phát hành tập lệnh của mình; . -

Trong ví dụ này, include được sử dụng để lấy 'tệp. php’, nhưng nếu điều này không thành công, chúng tôi sẽ tắt cảnh báo bằng cách sử dụng include7 và thực thi một số mã thay thế. include sẽ trả về false nếu không tìm thấy tệp

include9 và require0 hoạt động tương ứng như includerequire, ngoại trừ việc họ sẽ chỉ đưa vào tệp nếu nó chưa được đưa vào. Mặt khác, họ ném cùng một loại lỗi


Vì vậy, để tóm tắt, include đưa ra một cảnh báo và require đưa ra một lỗi nghiêm trọng và kết thúc tập lệnh khi không tìm thấy tệp. Đơn giản như vậy

Trong bài trước, chúng ta đã thấy cách bao gồm các tệp trong PHP bằng cách sử dụng hàm bao gồm(), yêu cầu, bao gồm_once() và yêu cầu_once()

Tất cả các chức năng này giúp bạn bao gồm/chèn nội dung của tệp này sang tệp khác. Cả hai đều có cùng chức năng nhưng cũng có sự khác biệt. Hãy xem sự khác biệt giữa chức năng bao gồm () và yêu cầu ()

Sự khác biệt giữa bao gồm () và yêu cầu () trong PHP

bao gồm()

yêu cầu()

Hàm bao gồm () nhận một đối số, đường dẫn/tên của tệp được chỉ định mà bạn muốn bao gồm. hàm require() thực hiện chức năng tương tự như hàm include(), nhận một đối số i. e. đường dẫn/tên của tệp bạn muốn đưa vào. cú pháp
bao gồm (Tên tệp);
Ví dụ
bao gồm ("tiêu đề. php”)Cú pháp
yêu cầu (Tên tệp);
Ví dụ
yêu cầu(“tiêu đề. php”);hàm include() không dừng thực thi, chỉ đưa ra cảnh báo và tiếp tục thực thi tập lệnh trong trường hợp không tìm thấy tên tệp i. tập tin bị thiếu/đặt tên sai. hàm require() đưa ra lỗi nghiêm trọng nếu nó tìm thấy bất kỳ vấn đề nào như tệp không tìm thấy hoặc tệp bị đặt tên sai và dừng thực thi sau khi gặp lỗi nghiêm trọng. chức năng bao gồm () có thể được sử dụng trong các vòng lặp hoặc cấu trúc điều khiển. hàm require() không thể được sử dụng trong các vòng lặp hoặc cấu trúc điều khiển. Bạn có thể trả về một giá trị từ một tệp được bao gồm
Bán tại
$result = bao gồm 'rtnvalue. php’;Tệp được bao gồm do câu lệnh yêu cầu không thể trả về giá trị. Bạn có thể sử dụng bao gồm khi tệp không bắt buộc hoặc không quá quan trọng. Khi tập lệnh được yêu cầu bởi tập lệnh, tốt hơn nên sử dụng yêu cầu () thay vì bao gồm ()

PHP cho phép chúng ta tạo các phần tử và hàm khác nhau, được sử dụng nhiều lần trong nhiều trang. Mất nhiều thời gian để viết các chức năng này trong nhiều trang. Do đó, hãy sử dụng khái niệm bao gồm tệp giúp bao gồm các tệp trong các chương trình khác nhau và tiết kiệm công sức viết mã nhiều lần

"PHP cho phép bạn bao gồm tệp để nội dung trang có thể được sử dụng lại nhiều lần. Sẽ rất hữu ích khi bao gồm các tệp khi bạn muốn áp dụng cùng một mã HTML hoặc PHP cho nhiều trang của một trang web. " Có hai cách để bao gồm tệp trong PHP

Cả hai bao gồm và yêu cầu giống hệt nhau, ngoại trừ lỗi

  • bao gồm chỉ tạo ra một cảnh báo, tôi. e. , E_WARNING và tiếp tục thực thi tập lệnh
  • yêu cầu tạo ra một lỗi nghiêm trọng, tôi. e. , E_COMPILE_ERROR và dừng thực thi tập lệnh

Lợi thế

Khả năng sử dụng lại mã. Bằng sự trợ giúp của cấu trúc bao gồm và yêu cầu, chúng ta có thể sử dụng lại mã HTML hoặc tập lệnh PHP trong nhiều tập lệnh PHP

Dễ dàng chỉnh sửa. Nếu chúng tôi muốn thay đổi bất cứ điều gì trong các trang web, hãy chỉnh sửa tệp nguồn có trong tất cả các trang web thay vì chỉnh sửa trong tất cả các tệp riêng lẻ

PHP bao gồm

PHP bao gồm được sử dụng để bao gồm một tệp trên cơ sở đường dẫn đã cho. Bạn có thể sử dụng đường dẫn tương đối hoặc tuyệt đối của tệp

cú pháp

Có hai cú pháp có sẵn để bao gồm

ví dụ

Hãy xem một ví dụ bao gồm PHP đơn giản

Tập tin. thực đơn. html

Tập tin. bao gồm1. php

đầu ra


PHP yêu cầu

Yêu cầu PHP tương tự như bao gồm, cũng được sử dụng để bao gồm các tệp. Sự khác biệt duy nhất là nó dừng thực thi tập lệnh nếu không tìm thấy tệp trong khi không bao gồm

cú pháp

Có hai cú pháp có sẵn cho yêu cầu

ví dụ

Hãy xem một ví dụ yêu cầu PHP đơn giản

Tập tin. thực đơn. html

Tài liệu. yêu cầu1. php

đầu ra


PHP bao gồm vs PHP yêu cầu

Cả hai bao gồm và yêu cầu đều giống nhau. Nhưng nếu tệp bị thiếu hoặc bao gồm không thành công, bao gồm sẽ cho phép tập lệnh tiếp tục nhưng yêu cầu tạm dừng tập lệnh tạo ra lỗi cấp độ E_COMPILE_ERROR nghiêm trọng

Hãy hiểu sự khác biệt với sự giúp đỡ của ví dụ

Thí dụ

bao gồm. php

đầu ra

Sự chào mừng. tệp php không có sẵn trong cùng thư mục mà chúng tôi đã đưa vào. Vì vậy, nó sẽ đưa ra cảnh báo về tệp bị thiếu nhưng cũng hiển thị đầu ra

Warning: include(welcome.php): failed to open stream: No such file or directory in C:\xampp\htdocs\program\include.php on line 3

Warning: include(): Failed opening 'welcome.php' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\program\include.php on line 3
The welcome file is included.

yêu cầu. php

đầu ra

Trong trường hợp yêu cầu () nếu tệp (chào mừng. php) không được tìm thấy trong cùng thư mục. Yêu cầu () sẽ tạo ra một lỗi nghiêm trọng và ngừng thực thi tập lệnh, như bạn có thể thấy trong kết quả bên dưới

sự khác biệt giữa bao gồm và yêu cầu là gì?

Các câu lệnh bao gồm và yêu cầu giống hệt nhau, ngoại trừ khi thất bại. requirement sẽ tạo ra lỗi nghiêm trọng (E_COMPILE_ERROR) và dừng tập lệnh . việc bao gồm sẽ chỉ đưa ra cảnh báo (E_WARNING) và tập lệnh sẽ tiếp tục .

Hàm include() và require() trong PHP là gì?

Để sử dụng hàm require() này, trước tiên chúng ta cần tạo hai tệp PHP. Sử dụng chức năng bao gồm (), bao gồm một tệp PHP vào một tệp khác. Sau đó, bạn sẽ thấy hai tệp PHP được kết hợp thành một tệp HTML. ví dụ 1. HTML

sự khác biệt giữa bao gồm và yêu cầu với ví dụ là gì?

Thông thường, câu lệnh request() hoạt động giống như bao gồm(). Sự khác biệt duy nhất là — câu lệnh bao gồm () sẽ chỉ tạo cảnh báo PHP nhưng cho phép tiếp tục thực thi tập lệnh nếu không tìm thấy tệp được bao gồm, trong khi câu lệnh yêu cầu () sẽ tạo ra lỗi nghiêm trọng và dừng việc thực thi tập lệnh

Ví dụ về sự khác biệt giữa include_once và require_once trong PHP là gì?

bao gồm_once() Nếu mã từ một tệp đã được bao gồm thì nó sẽ không được thêm lại nếu chúng tôi sử dụng bao gồm_once(). require_once() mã từ một tệp php đã được đưa vào thì nó sẽ không được đưa vào nữa nếu chúng ta sử dụng require_once(). Nó có nghĩa là request_once() sẽ chỉ thêm tệp mỗi lần