Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

  
8 và
  
9 là tốt.

Vì vậy, câu hỏi của bạn nên là ...

  1. Khi nào tôi nên sử dụng
      
    
    8 so với
    
    
    1?
  2. Khi nào tôi nên sử dụng
    
    
    2 so với
      
    
    8

Câu trả lời cho 1 được mô tả ở đây.

Hàm yêu cầu () giống hệt nhau để bao gồm (), ngoại trừ việc nó xử lý các lỗi khác nhau. Nếu xảy ra lỗi, hàm bao gồm () sẽ tạo cảnh báo, nhưng tập lệnh sẽ tiếp tục thực thi. Yêu cầu () tạo ra một lỗi nghiêm trọng và tập lệnh sẽ dừng lại.

Câu trả lời cho 2 có thể được tìm thấy ở đây.

Tuyên bố yêu cầu_once () giống hệt với yêu cầu () ngoại trừ PHP sẽ kiểm tra xem tệp đã được bao gồm và nếu vậy, không bao gồm (yêu cầu) một lần nữa.

Đã trả lời ngày 10 tháng 3 năm 2010 lúc 16:17Mar 10, 2010 at 16:17

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

LeoleoLeo

37.2K7 Huy hiệu vàng73 Huy hiệu bạc99 Huy hiệu đồng7 gold badges73 silver badges99 bronze badges

3

Sử dụng

  • Yêu cầu khi ứng dụng của bạn yêu cầu, ví dụ: Một mẫu tin nhắn quan trọng hoặc một tệp chứa các biến cấu hình mà không có ứng dụng nào sẽ phá vỡ.
    when the file is required by your application, e.g. an important message template or a file containing configuration variables without which the app would break.

  • Yêu cầu_once khi tệp chứa nội dung sẽ tạo ra lỗi khi đưa vào tiếp theo, ví dụ:

    
    
    4 chắc chắn là cần thiết trong ứng dụng của bạn nhưng vì các chức năng không thể được xác định lại không nên được đưa lại.
    when the file contains content that would produce an error on subsequent inclusion, e.g.
    
    
    4 is definitely needed in your application but since functions cannot be redeclared should not be included again.

  • Bao gồm khi không bắt buộc tệp và luồng ứng dụng sẽ tiếp tục khi không tìm thấy, ví dụ: Tuyệt vời cho các mẫu tham chiếu các biến từ phạm vi hiện tại hoặc một cái gì đó
    great for templates referencing variables from the current scope or something

  • Bao gồm các phụ thuộc tùy chọn sẽ tạo ra lỗi khi tải tiếp theo hoặc có thể bao gồm tệp từ xa mà bạn không muốn xảy ra hai lần do chi phí HTTP
    optional dependencies that would produce errors on subsequent loading or maybe remote file inclusion that you do not want to happen twice due to the HTTP overhead

Nhưng về cơ bản, tùy thuộc vào bạn khi nào nên sử dụng.

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Đã trả lời ngày 10 tháng 3 năm 2010 lúc 16:25Mar 10, 2010 at 16:25

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

GordongordonGordon

308K72 Huy hiệu vàng527 Huy hiệu bạc552 Huy hiệu đồng72 gold badges527 silver badges552 bronze badges

1

Đề xuất của tôi là chỉ sử dụng


2 99,9% thời gian.

Thay vào đó, sử dụng

  
8 hoặc

1 ngụ ý rằng mã của bạn không thể tái sử dụng ở nơi khác, tức là các tập lệnh bạn đang thực sự thực thi mã thay vì cung cấp một lớp hoặc một số thư viện chức năng.execute code instead of making available a class or some function libraries.

Nếu bạn được yêu cầu/bao gồm mã thực thi tại chỗ, đó là mã thủ tục và bạn cần phải biết một mô hình mới. Giống như lập trình hướng đối tượng, lập trình dựa trên chức năng hoặc lập trình chức năng.get to know a new paradigm. Like object oriented programming, function-based programming, or functional programming.

Nếu bạn đã thực hiện OO hoặc lập trình chức năng, việc sử dụng

  
9 chủ yếu sẽ bị trì hoãn khi trong ngăn xếp bạn tìm thấy lỗi/lỗi. Bạn có muốn biết rằng chức năng

9 không có sẵn khi bạn gọi cho nó sau này, hoặc thời điểm mà bạn mong đợi nó có sẵn bằng cách yêu cầu thư viện? Nói chung, tốt nhất là nên biết ngay lập tức nếu thứ gì đó bạn cần và mong đợi không có sẵn, vì vậy chỉ cần sử dụng

2.the moment that you expect it to be available by requiring the library? Generally, it's best to know immediately if something you need and expect isn't available, so just use

2.

Ngoài ra, trong OOP hiện đại, chỉ tự động tải các lớp của bạn khi sử dụng.

Đã trả lời ngày 10 tháng 3 năm 2010 lúc 16:46Mar 10, 2010 at 16:46

KzqaikzqaiKzqai

22.3K23 Huy hiệu vàng103 Huy hiệu bạc134 Huy hiệu đồng23 gold badges103 silver badges134 bronze badges

1

Sự khác biệt giữa các hàm _once và không có chức năng _once: Không có mã _once sẽ được bao gồm một lần nữa trong khi với các hàm _once PHP theo dõi các tệp được bao gồm và sẽ chỉ bao gồm một lần.

Sự khác biệt giữa yêu cầu và bao gồm: Nếu không tìm thấy tệp bắt buộc, PHP sẽ phát ra lỗi nghiêm trọng trong khi chỉ bao gồm một cảnh báo sẽ được phát ra.

Đã trả lời ngày 10 tháng 3 năm 2010 lúc 16:18Mar 10, 2010 at 16:18

SebastiansebastianSebastian

2.6462 Huy hiệu vàng22 Huy hiệu bạc27 Huy hiệu đồng2 gold badges22 silver badges27 bronze badges

0

 
1 sẽ đưa ra cảnh báo nếu nó không thể bao gồm tệp, nhưng phần còn lại của tập lệnh sẽ chạy.

 
2 sẽ ném
 
3 và dừng tập lệnh nếu nó không thể bao gồm tệp.

Các chức năng

 
4 và
 
5 sẽ không bao gồm tệp lần thứ hai nếu nó đã được đưa vào.

Xem các trang tài liệu sau:

  • bao gồm
  • yêu cầu
  • include_once
  • require_once

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Đã trả lời ngày 3 tháng 11 năm 2011 lúc 11:48Nov 3, 2011 at 11:48

Đa thứcPolynomial

Phù bằng vàng 27K1179 Huy hiệu bạc107 Huy hiệu đồng11 gold badges79 silver badges107 bronze badges

Bạn nên giữ các định nghĩa lớp và chức năng được tổ chức trong các tập tin.

Sử dụng

 
5 để tải phụ thuộc (lớp, chức năng, hằng số).dependencies (classes, functions, constants).

Sử dụng

 
2 để tải các tệp giống như mẫu.template-like files.

Sử dụng

 
4 để tải phụ thuộc tùy chọn (lớp, chức năng, hằng số).optional dependencies (classes, functions, constants).

Sử dụng

 
1 để tải các tệp giống như mẫu tùy chọn.optional template-like files.

Blackbam

15.8K23 Huy hiệu vàng87 Huy hiệu bạc142 Huy hiệu đồng23 gold badges87 silver badges142 bronze badges

Đã trả lời ngày 2 tháng 6 năm 2012 lúc 9:20Jun 2, 2012 at 9:20

oxy oxyoxygen

5.4736 Huy hiệu vàng36 Huy hiệu bạc65 Huy hiệu Đồng6 gold badges36 silver badges65 bronze badges

Một câu trả lời sau 7 năm cho năm 2018

Câu hỏi này đã được hỏi bảy năm trước, và không có câu trả lời nào cung cấp trợ giúp thực tế cho câu hỏi. Trong chương trình PHP hiện đại, bạn chủ yếu sử dụng


2 chỉ một lần để bao gồm lớp AutoLoader của mình (trình tải tự động tải của nhà soạn nhạc) và nó sẽ tải tất cả các lớp và chức năng của bạn (các tệp chức năng cần được thêm vào một cách rõ ràng vào tệp

1 để có sẵn trong tất cả các tập tin). Nếu lớp của bạn không thể tải từ AutoLoader, bạn sử dụng

2 để tải nó.

Có một số trường hợp chúng ta cần sử dụng

  
8. Ví dụ: nếu bạn có định nghĩa mảng thực sự lớn và bạn không muốn thêm mã này vào mã nguồn định nghĩa lớp của mình, bạn có thể:

 'y'];

 

Nếu tệp mà bạn dự định bao gồm chứa một cái gì đó có thể thực thi hoặc khai báo một số biến, bạn hầu như luôn cần sử dụng

  
8, bởi vì nếu bạn sử dụng

2 ngoài nơi đầu tiên của bạn sẽ không được thực thi và/hoặc các biến của bạn sẽ không bắt đầu âm thầm, gây ra lỗi hoàn toàn khó xác định.

Không có trường hợp sử dụng thực tế cho


1 và
  
9 thực sự.

0

Bất cứ khi nào bạn đang sử dụng

 
5 có thể được sử dụng trong một tệp để bao gồm một tệp khác khi bạn cần tệp được gọi chỉ một thời gian trong tệp hiện tại. Ở đây trong ví dụ tôi có Test1.php.

  

và trong một tệp khác mà tôi đã đặt tên là Test2.php


Khi bạn đang xem M yêu cầu tệp Test1 hai lần nhưng tệp sẽ bao gồm Test1 một lần và để gọi lần thứ hai, điều này sẽ bị bỏ qua. Và mà không tạm dừng sẽ hiển thị đầu ra một lần.

Bất cứ khi nào bạn đang sử dụng 'bao gồm_once () `có thể được sử dụng trong một tệp để bao gồm một tệp khác khi bạn cần tệp được gọi nhiều lần trong tệp hiện tại. Ở đây trong ví dụ tôi có một tệp có tên Test3.php.

 

Và trong một tệp khác mà tôi đã đặt tên là test4.php


Khi bạn đang xem M bao gồm tệp Test3 sẽ bao gồm tệp một lần nhưng tạm dừng việc thực hiện thêm.

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

S.L. Barth

8.08971 Huy hiệu vàng 50 Huy hiệu bạc63 Huy hiệu Đồng71 gold badges50 silver badges63 bronze badges

Đã trả lời ngày 29 tháng 9 năm 2012 lúc 9:42Sep 29, 2012 at 9:42

AlimohsinalimohsinAliMohsin

3291 Huy hiệu vàng5 Huy hiệu bạc10 Huy hiệu đồng1 gold badge5 silver badges10 bronze badges

0

Sử dụng "bao gồm" cho các mẫu PHP có thể tái sử dụng. Sử dụng "yêu cầu" cho các thư viện cần thiết.

"*_once" là tốt, bởi vì nó kiểm tra xem tệp đã được tải hay không, nhưng nó chỉ có ý nghĩa đối với tôi trong "ural_once".

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Đã trả lời ngày 10 tháng 3 năm 2010 lúc 17:08Mar 10, 2010 at 17:08

mo.mo.mo.

3,3841 Huy hiệu vàng23 Huy hiệu bạc20 Huy hiệu Đồng1 gold badge23 silver badges20 bronze badges

Sự khác biệt là trong lỗi các lệnh tạo ra. Với

  
8, tệp bạn muốn sử dụng là thực sự cần thiết và do đó tạo ra
function doSomething() {
    require_once(xyz.php);
    ....
}
0 nếu không tìm thấy.

 
2 giống hệt với
 
1 ngoại trừ khi thất bại, nó cũng sẽ tạo ra lỗi mức
function doSomething() {
    require_once(xyz.php);
    ....
}
0 gây tử vong.


1 chỉ tạo ra lỗi
function doSomething() {
    require_once(xyz.php);
    ....
}
5 nếu nó không bị im lặng.

Vì vậy, sử dụng nó nếu tệp được yêu cầu để làm cho mã còn lại hoạt động và bạn muốn tập lệnh không thành công tệp không có sẵn.


Cho

function doSomething() {
    require_once(xyz.php);
    ....
}
6:

 
4 có thể được sử dụng trong trường hợp có cùng một tệp có thể được bao gồm và đánh giá nhiều lần trong quá trình thực hiện tập lệnh cụ thể, vì vậy trong trường hợp này, nó có thể giúp tránh các vấn đề như xác định lại chức năng, xác định lại giá trị biến, v.v.

Tương tự áp dụng cho

 
5 tất nhiên.


Tham khảo:

 
2,
 
4

Đã trả lời ngày 10 tháng 3 năm 2010 lúc 16:20Mar 10, 2010 at 16:20

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Felix Klingfelix KlingFelix Kling

772K172 Huy hiệu vàng1069 Huy hiệu bạc1116 Huy hiệu đồng172 gold badges1069 silver badges1116 bronze badges

0

  1. Khi nào người ta nên sử dụng

      
    
    8 hoặc
    
    
    1?

    Các hàm

      
    
    8 và
    
    
    1 thực hiện cùng một nhiệm vụ, tức là bao gồm và đánh giá tệp được chỉ định, nhưng sự khác biệt là
      
    
    8 sẽ gây ra lỗi nghiêm trọng khi vị trí tệp được chỉ định không hợp lệ hoặc đối với bất kỳ lỗi nào trong khi
    
    
    1 sẽ tạo ra cảnh báo và tiếp tục thực thi mã .

    Vì vậy, bạn có thể sử dụng chức năng

      
    
    8 trong trường hợp tệp bạn đang cố gắng đưa vào là trái tim của hệ thống và có thể gây ra tác động rất lớn đến phần còn lại của mã và bạn có thể sử dụng chức năng
    
    
    1 khi tệp bạn đang cố gắng đưa vào là một tệp đơn giản chứa một số mã ít quan trọng hơn.heart of the system and may cause a huge impact on rest of the code and you can use the
    
    
    1 function when the file you are trying to include is a simple file containing some less important code.

    Và đề xuất cá nhân của tôi (đối với mã ít quan trọng hơn) là đi cho chức năng

      
    
    8 ở mọi nơi trong mã của bạn trong khi nó đang trong giai đoạn phát triển sao cho bạn có thể gỡ lỗi mã và sau đó là thay thế tất cả các chức năng Nếu bạn bỏ lỡ bất kỳ lỗi nào, nó sẽ không ảnh hưởng đến người dùng cuối và phần còn lại của mã sẽ thực hiện đúng ...

  2. Khi nào người ta nên sử dụng

    
    
    2 hoặc
      
    
    8?

    Sự khác biệt cơ bản giữa

      
    
    8 và
    
    
    2 là
    
    
    2 sẽ kiểm tra xem tệp có được bao gồm hay không nếu nó đã được bao gồm thì nó sẽ không bao gồm tệp trong khi hàm
      
    
    8 sẽ bao gồm tệp không phân biệt liệu tệp có được bao gồm hay chưa.

    Vì vậy, trong trường hợp bạn muốn bao gồm một số mã nhiều lần sử dụng hàm

      
    
    8 trong khi nếu bạn muốn bao gồm một số mã chỉ một lần trong mã của bạn, hãy sử dụng
    
    
    2.

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Đã trả lời ngày 30 tháng 7 năm 2015 lúc 6:05Jul 30, 2015 at 6:05

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Akshay Khaleakshay KhaleAkshay Khale

7.8818 Huy hiệu vàng49 Huy hiệu bạc58 Huy hiệu Đồng8 gold badges49 silver badges58 bronze badges

Với yêu cầu, tệp phải tồn tại, nếu không có lỗi sẽ hiển thị; Trong khi đó bao gồm - nếu tệp không tồn tại thì trang sẽ tiếp tục tải.

Đã trả lời ngày 10 tháng 3 năm 2010 lúc 16:24Mar 10, 2010 at 16:24

BrianbrianBrian

Huy hiệu đồng 9111 bronze badge

1 - "Yêu cầu" và "Yêu cầu_once" ném lỗi nghiêm trọng nếu tệp không tồn tại và dừng thực thi tập lệnh

2 - "Bao gồm" và "bao gồm_once" ném một cảnh báo và việc thực hiện tiếp tục

3.

Đã trả lời ngày 28 tháng 7 năm 2021 lúc 6:44Jul 28, 2021 at 6:44

Yêu cầu các phần quan trọng, như ủy quyền và bao gồm tất cả những người khác.

Nhiều người bao gồm chỉ là thiết kế rất tệ và phải tránh được. Vì vậy, *_once không thực sự quan trọng.

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Đã trả lời ngày 10 tháng 3 năm 2010 lúc 17:04Mar 10, 2010 at 17:04

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Ý thức chung thông thường của bạnYour Common Sense

156K39 Huy hiệu vàng209 Huy hiệu bạc332 Huy hiệu Đồng39 gold badges209 silver badges332 bronze badges

Bao gồm / yêu cầu bạn có thể bao gồm cùng một tệp nhiều hơn một lần:

Yêu cầu () giống hệt nhau để bao gồm () ngoại trừ khi thất bại, nó cũng sẽ tạo ra lỗi cấp độ E_Compile_error gây tử vong. Nói cách khác, nó sẽ tạm dừng tập lệnh trong khi bao gồm () chỉ phát ra cảnh báo (e_warning) cho phép tập lệnh tiếp tục.

Yêu cầu_once / bao gồm_once

giống hệt nhau để bao gồm/yêu cầu ngoại trừ PHP sẽ kiểm tra xem tệp đã được bao gồm và nếu vậy, không bao gồm (yêu cầu) một lần nữa.

Đã trả lời ngày 3 tháng 11 năm 2011 lúc 11:48Nov 3, 2011 at 11:48

MarcxmarcxMarcx

6.7264 Huy hiệu vàng46 Huy hiệu bạc69 Huy hiệu Đồng4 gold badges46 silver badges69 bronze badges

Tôi đã sử dụng chức năng như dưới đây:

function doSomething() {
    require_once(xyz.php);
    ....
}

Có các giá trị không đổi được khai báo trong xyz.php.

Tôi phải gọi chức năng dosome () này từ tệp tập lệnh PHP khác.

Nhưng tôi đã quan sát hành vi trong khi gọi hàm này trong một vòng lặp, đối với việc lặp đầu tiên () đã nhận được các giá trị không đổi trong

Include_once 'filename'
0, nhưng sau đó mỗi lần lặp
Include_once 'filename'
1 không thể nhận được các giá trị không đổi được khai báo trong
Include_once 'filename'
0.

Tôi đã giải quyết vấn đề của mình bằng cách chuyển từ

 
5 sang
 
1, mã
Include_once 'filename'
1 được cập nhật như dưới đây:

function doSomething() {
    include(xyz.php);
    ....
}

Bây giờ mọi cuộc gọi lặp đến

Include_once 'filename'
1 đều có các giá trị không đổi được xác định trong
Include_once 'filename'
0.

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Đã trả lời ngày 30 tháng 9 năm 2016 lúc 6:51Sep 30, 2016 at 6:51

PrashantprashantPrashant

4.3346 Huy hiệu vàng33 Huy hiệu bạc75 Huy hiệu Đồng6 gold badges33 silver badges75 bronze badges

Từ hướng dẫn:

 
2 giống hệt với
 
1 ngoại trừ khi thất bại, nó cũng sẽ tạo ra lỗi mức
 
3 gây tử vong. Nói cách khác, nó sẽ tạm dừng tập lệnh trong khi
 
1 chỉ phát ra cảnh báo (
function doSomething() {
    require_once(xyz.php);
    ....
}
5) cho phép tập lệnh tiếp tục.

Điều tương tự cũng đúng với các biến thể

if(file_exists($RequiredFile)){
    require_once($RequiredFile);
}else{
  die('Error: File Does Not Exist');
}
3.

Đã trả lời ngày 3 tháng 11 năm 2011 lúc 11:46Nov 3, 2011 at 11:46

Ferdinand Beyerferdinand BeyerFerdinand Beyer

62.7K15 Huy hiệu vàng151 Huy hiệu bạc143 Huy hiệu đồng15 gold badges151 silver badges143 bronze badges

 
1 sẽ tạo cảnh báo khi nó không tìm thấy tệp, nhưng
 
5 sẽ tạo ra một lỗi nghiêm trọng.

Một điều nữa là nếu tập tin được bao gồm trước đó. Sau đó

 
5 sẽ không bao gồm nó một lần nữa.

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Đã trả lời ngày 3 tháng 11 năm 2011 lúc 11:48Nov 3, 2011 at 11:48

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

MarcxmarcxRukmi Patel

6.7264 Huy hiệu vàng46 Huy hiệu bạc69 Huy hiệu Đồng9 gold badges28 silver badges41 bronze badges

Tôi đã sử dụng chức năng như dưới đây:

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Có các giá trị không đổi được khai báo trong xyz.php.

Tôi phải gọi chức năng dosome () này từ tệp tập lệnh PHP khác.146 gold badges85 silver badges119 bronze badges

Nhưng tôi đã quan sát hành vi trong khi gọi hàm này trong một vòng lặp, đối với việc lặp đầu tiên () đã nhận được các giá trị không đổi trong

Include_once 'filename'
0, nhưng sau đó mỗi lần lặp
Include_once 'filename'
1 không thể nhận được các giá trị không đổi được khai báo trong
Include_once 'filename'
0.Oct 25, 2015 at 15:39

mp31415mp31415mp31415

Tôi đã giải quyết vấn đề của mình bằng cách chuyển từ

 
5 sang
 
1, mã
Include_once 'filename'
1 được cập nhật như dưới đây:1 gold badge43 silver badges33 bronze badges

  1. Bây giờ mọi cuộc gọi lặp đến

    Include_once 'filename'
    
    1 đều có các giá trị không đổi được xác định trong
    Include_once 'filename'
    
    0.require function when you need to load any class, function, or dependency.

  2. Đã trả lời ngày 30 tháng 9 năm 2016 lúc 6:51include function when you want to load template-styled file

Prashantprashantrequire_once for all time.

4.3346 Huy hiệu vàng33 Huy hiệu bạc75 Huy hiệu ĐồngJul 7, 2015 at 4:13

Từ hướng dẫn:

 
2 giống hệt với
 
1 ngoại trừ khi thất bại, nó cũng sẽ tạo ra lỗi mức
 
3 gây tử vong. Nói cách khác, nó sẽ tạm dừng tập lệnh trong khi
 
1 chỉ phát ra cảnh báo (
function doSomething() {
    require_once(xyz.php);
    ....
}
5) cho phép tập lệnh tiếp tục.

Điều tương tự cũng đúng với các biến thể

if(file_exists($RequiredFile)){
    require_once($RequiredFile);
}else{
  die('Error: File Does Not Exist');
}
3.

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Đã trả lời ngày 3 tháng 11 năm 2011 lúc 11:46Sep 17, 2017 at 10:20

Ferdinand Beyerferdinand BeyerRotimi

62.7K15 Huy hiệu vàng151 Huy hiệu bạc143 Huy hiệu đồng4 gold badges17 silver badges27 bronze badges

 
1 sẽ tạo cảnh báo khi nó không tìm thấy tệp, nhưng
 
5 sẽ tạo ra một lỗi nghiêm trọng.

Một điều nữa là nếu tập tin được bao gồm trước đó. Sau đó

 
5 sẽ không bao gồm nó một lần nữa.

Examples:

Require 'filename'
Require_once 'filename'
Include 'filename'

Rukmi Patelrukmi Patel

Include_once 'filename'

2.6019 huy hiệu vàng28 Huy hiệu bạc41 Huy hiệu đồng

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Có các giá trị không đổi được khai báo trong xyz.php.

Tôi phải gọi chức năng dosome () này từ tệp tập lệnh PHP khác.146 gold badges85 silver badges119 bronze badges

Nhưng tôi đã quan sát hành vi trong khi gọi hàm này trong một vòng lặp, đối với việc lặp đầu tiên () đã nhận được các giá trị không đổi trong

Include_once 'filename'
0, nhưng sau đó mỗi lần lặp
Include_once 'filename'
1 không thể nhận được các giá trị không đổi được khai báo trong
Include_once 'filename'
0.Nov 22, 2017 at 8:20

0

Tôi đã giải quyết vấn đề của mình bằng cách chuyển từ

 
5 sang
 
1, mã
Include_once 'filename'
1 được cập nhật như dưới đây:

Ngoài ra: Tôi khuyên bạn nên thêm

if(file_exists($RequiredFile)){
    require_once($RequiredFile);
}else{
  die('Error: File Does Not Exist');
}

Bởi vì khi yêu cầu_once giết trang, đôi khi nó có thể lặp lại thư mục của các tệp trang web của bạn

Đây là một chức năng tùy chỉnh tôi đã thực hiện để yêu cầu các tệp:

  
0

Ví dụ sử dụng:

  
1

Đã trả lời ngày 10 tháng 4 năm 2019 lúc 20:23Apr 10, 2019 at 20:23

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

  
8 Tạo lỗi nghiêm trọng khi dừng thực hiện dòng tiếp theo trong khi không tìm thấy tệp.


1 Tạo cảnh báo nhưng không dừng thực thi dòng tiếp theo trong khi không tìm thấy tệp.


2 làm giống như
  
8 làm nhưng nó sẽ kiểm tra xem tệp có được tải hoặc không được thực thi hay không.

  
9 làm giống như

1 làm nhưng nó sẽ kiểm tra xem tệp có được tải hoặc không được thực thi hay không.

Lưu ý:

  
9 hoặc

2 có thể được sử dụng trong trường hợp có cùng một tệp có thể được bao gồm và đánh giá nhiều lần trong quá trình thực hiện tập lệnh cụ thể, vì vậy trong trường hợp này, nó có thể giúp tránh các vấn đề như xác định lại chức năng, xác định lại giá trị biến, v.v.

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Statosdotcom

3.0792 Huy hiệu vàng16 Huy hiệu bạc39 Huy hiệu đồng2 gold badges16 silver badges39 bronze badges

Đã trả lời ngày 25 tháng 5 lúc 18:01May 25 at 18:01

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Md. Ziyed uddinmd. Ziyed UddinMd. Ziyed Uddin

1721 Huy hiệu vàng1 Huy hiệu bạc10 Huy hiệu đồng1 gold badge1 silver badge10 bronze badges

Đó thường là vấn đề bạn có muốn tải thư viện máy khách có điều kiện hay tiếp tục và tải nó cho dù bạn sẽ sử dụng nó hay không.

Đây là ví dụ cụ thể; Xây dựng về những gì PCJ nói.

Giả sử bạn có tệp cấu hình lưu trữ tên người dùng và mật khẩu cơ sở dữ liệu của mình (conf.php):

  
2

Và một lớp có chức năng tĩnh sử dụng cơ sở dữ liệu:

  
3

Và hàm tĩnh đó được sử dụng bên trong một hàm khác đang được gọi là lặp đi lặp lại bên trong một vòng lặp:

  
4

Bạn chỉ có thể yêu cầu/bao gồm lớp một lần. Nếu bạn yêu cầu/bao gồm nó trên mọi lần lặp của vòng lặp của bạn, bạn sẽ gặp lỗi. Tuy nhiên, bạn phải bao gồm tệp conf của mình mỗi khi hàm tĩnh được gọi.

  
5

Tất nhiên, di chuyển nó ra bên ngoài chức năng có thể là một giải pháp cho vấn đề đó:

  
6

Trừ khi bạn quan tâm đến chi phí tải một lớp chỉ có thể được sử dụng trong một số điều kiện nhất định và không muốn tải nó khi không.

Đã trả lời ngày 12 tháng 5 năm 2020 lúc 18:41May 12, 2020 at 18:41

Adam Winteradam mùa đôngAdam Winter

1.4041 Huy hiệu vàng10 Huy hiệu bạc24 Huy hiệu đồng1 gold badge10 silver badges24 bronze badges

  
8 có chi phí cao hơn

1, vì nó phải phân tích tệp trước. Thay thế
  
10 bằng
  
11 thường là một kỹ thuật tối ưu hóa tốt.

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Đã trả lời ngày 14 tháng 11 năm 2012 lúc 19:52Nov 14, 2012 at 19:52

BinkbinkBink

Phù hiệu bằng đồng 16144 bronze badges

1

Chỉ cần sử dụng yêu cầu và bao gồm.

Bởi vì hãy nghĩ cách làm việc với bao gồm_once hoặc abor_once. Đó là tìm kiếm dữ liệu nhật ký lưu các tệp PHP bao gồm hoặc bắt buộc. Vì vậy, chậm hơn bao gồm và yêu cầu.

  
7

Chỉ sử dụng như thế này ...

Hướng dẫn what is the difference between _once and require in php? - sự khác biệt giữa _once và request trong php là gì?

Đã trả lời ngày 6 tháng 8 năm 2015 lúc 8:44Aug 6, 2015 at 8:44

0

Sự khác biệt giữa abel_once () yêu cầu () bao gồm () là gì?

Chúng là tất cả các cách bao gồm các tập tin. Yêu cầu có nghĩa là nó cần nó.Require_once có nghĩa là nó sẽ cần nó nhưng chỉ yêu cầu nó một lần. Bao gồm nó có nghĩa là nó sẽ bao gồm một tệp nhưng nó không cần nó tiếp tục.Require means it needs it. Require_once means it will need it but only requires it once. Include means it will include a file but it doesn't need it to continue.

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

Bao gồm () vs yêu cầu () Sự khác biệt duy nhất là câu lệnh bao gồm () tạo ra cảnh báo PHP nhưng cho phép thực hiện tập lệnh được tiến hành nếu không thể tìm thấy tệp.Đồng thời, câu lệnh yêu cầu () tạo ra một lỗi nghiêm trọng và chấm dứt tập lệnh.the include() statement generates a PHP alert but allows script execution to proceed if the file to be included cannot be found. At the same time, the require() statement generates a fatal error and terminates the script.

Khi nào tôi nên sử dụng Yêu cầu_once VS yêu cầu trong PHP?

Bằng cách sử dụng Yêu cầu (), tệp có thể được bao gồm nhiều lần trên cùng một trang web. By using require_once(), the file can only be included once on a web page.

Sự khác biệt giữa bao gồm bao gồm_once Yêu cầu & Yêu cầu_once trong PHP là gì?

Sự khác biệt duy nhất giữa hai là yêu cầu và em gái của nó yêu cầu_once ném lỗi nghiêm trọng nếu không tìm thấy tệp, trong khi bao gồm và bao gồm_once chỉ hiển thị cảnh báo và tiếp tục tải phần còn lại của trang.require and its sister require_once throw a fatal error if the file is not found, whereas include and include_once only show a warning and continue to load the rest of the page.