Ne zaman require_oncenin kullanmak vs içermelidir?

14 Cevap php

Ne zaman require_once vs kullanmalıdır include?

Kod bu konularda eğer bir özel WordPress tema bulunmaktadır.

14 Cevap

Vardır require ve include_once de.

Yani soru olmalı ...

  1. Ne zaman require vs include kullanmalıyım?
  2. Ne zaman require_once vs require kullanmalısınız

1 cevabı açıklanmıştır here.

Require () işlevi farklı hataları işleme hariç, include () ile aynıdır. Bir hata oluşursa, () işlevi bir uyarı oluşturur, ancak komut dosyası yürütülmesine devam edecektir içerir. Önemli bir hata üretir () gerektiren ve komut duracaktır.

2 cevap bulunabilir here.

Require_once () ifadesi tekrar PHP dosyası zaten dahil olup olmadığını kontrol edin ve eğer öyleyse, (gerekir) dahil olmaz hariç () gerektiren aynıdır.

Kullanım

  • require
    when the file is required by your application, e.g. an important message template or a file containing configuration variables which with without the app would break.

  • require_once
    when the file contains content that would produce an error on subsequent inclusion, e.g. function important() { /* important code */} is definitely needed in your application but since functions cannot be redeclared should not be included again.

  • include when the file is not required and application flow should continue when not found, e.g.
    great for templates referencing variables from the current scope or something

  • include_once
    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

Hangi kullanmak Ama temelde, bu size kalmış.

Benim önerim sadece zaman require_once% 99.9 kullanmaktır.

Gerektiren veya dahil kullanarak kod, başka bir yerde yani yeniden olmadığını ima kullanma eylemi require veya include yerine kullanılabilir bir sınıf yapma executing kod aslında veya bazı fonksiyon kütüphaneleri. Eğer bu prosedürel kod, bunu yapar kodu dahil / gerektiren, ve gerekiyorsa get to know a new paradigm. Bunun için, functional programming ve object oriented programming göstermektedir.

Zaten include_once çoğunlukla delaying burada yığını Eğer hata / hataları bulmak olacak kullanarak, fonksiyonel programlama veya OO yapıyorsan. Bunu sadece, bunun için çağrı giderken fonksiyon do_cool_stuff() mevcut değildir, ya da the moment that you expect it to be available by requiring the library? Genellikle, en kısa sürede bunu eklemiş gibi bilmek istiyorum bilmek ister misiniz require_oncenin kullanın.

Whenever you are using require_once() can be use in a file to include another file when you need the called file only a single time in the current file. Here in the example I have an test1.php.

<?php  
echo "today is:".date("Y-m-d");  
?>  

ve başka bir dosyada ben test2.php adında var ki

<?php  
require_once('test1.php');  
require_once('test1.php');  
?>

Eğer iki test1 dosyası gerektiren m izliyor ancak dosya bir kez ve ikinci kez de arama için test1 içerecek şekilde bu göz ardı edilecektir. Ve durdurulması olmadan çıktılarının tek bir zaman gösterecektir.

Whenever you are using 'include_once()` can be used in a file to include another file when you need the called file more than once in the current file. Here in the example I have a file named test3.php.

<?php  
echo "today is:".date("Y-m-d");  
?> 

Ve başka bir dosyada ben test4.php adında var ki

<?php  
include_once('test3.php');  
include_once('test3.php');  
?>

izlediğiniz gibi test3 dosya dahil m Dosyaya tek zaman vardır ama daha yürütülmesini durdurmak olacaktır.

include() bu dosyayı içeremez eğer bir uyarı atmak olacaktır, ancak senaryonun kalanı çalışacaktır.

require() bir E_COMPILE_ERROR atmak ve bu dosyayı içeremez eğer komut durur.

include_once() ve require_once() fonksiyonlar dosyasını zaten dahil edilmiş ise ikinci kez içermez.

Aşağıdaki belgeler sayfalarına bakın:

Fark komutlar oluşturmak hata olduğunu. require, kullanmak istediğiniz dosya gerçekten gerekli ve böylece üretir bir E_ERROR buldum değilse.

require() include() başarısızlık üzerine dışında aynı zamanda ölümcül bir E_ERROR seviyesi hata üretecektir aynıdır.

Az ya da çok sessiz olduğu başarısız olursa include, sadece bir E_WARNING hata üretir.

Yani dosya kalan kod çalışması için gerekli ise kullanın ve komut dosyası mevcut değil başarısız istiyorum.


Için *_once(),

include_once() Bu durumda bu tür fonksiyon yinelenmesi, değişken değer atanması gibi sorunları önlemek yardımcı olabilir böylece aynı dosya bir komut belirli bir yürütme sırasında birden fazla dahil ve değerlendirilmiş olabilir durumlarda kullanılabilir, vb

Aynı require_once() elbette geçerlidir.


Referans: require() , include_once()

Yeniden PHP şablonları için "include" kullanın. Gerekli kütüphaneler için "ihtiyaç" kullanın.

Bu dosya zaten yüklü olup olmadığını denetler, ancak yalnızca "Require_oncenin" benim için mantıklı çünkü "* _once", güzel.

Gerektiren ile daha sonra bir hata görüntüler değilse dosya bulunmalıdır; oysa dahil - dosya daha sonra yoksa o sayfa yükleme devam edecektir.

Include / Require daha fazla kez de aynı dosyayı ekleyebilirsiniz:

() aynı zamanda ölümcül bir E_COMPILE_ERROR düzey hata üretecektir başarısızlık üzerine hariç () dahil aynıdır gerektirir. () Sadece komut devam sağlayan bir uyarı (e_warning) yayan içerir oysa diğer bir deyişle, bu komut dosyasını durdurmak olacaktır.

require_once / include_once

PHP dosya zaten dahil olup olmadığını kontrol edin ve eğer öyleyse, yine (gerektiren) bunu dahil olmayacak dışında eklemek aynıdır / gerektirir.

Yetkilendirme gibi kritik parçalar, gerektiren ve tüm diğerleri sayılabilir.

Birden, sadece çok kötü bir tasarım ve tüm kaçınılmalıdır içerir. Yani, * _once gerçekten önemli değil.

Kimden manual:

require() include() başarısızlık üzerine dışında aynı zamanda ölümcül bir E_COMPILE_ERROR seviyesi hata üretecektir aynıdır. include() sadece komut devam etmesini sağlar (E_WARNING) bir uyarı verir ise diğer bir deyişle, bu komut dosyasını durdurmak olacaktır.

Aynı _once() varyantları için de geçerlidir.

Siz dosyaları organize sınıf ve fonksiyon tanımlarını tutmalı.

Bağımlılıklarını (sınıflar, fonksiyonlar, sabitler) yüklemek için require_oncenin kullanın.

Şablon gibi dosyaları yüklemek için gerektirir.

Bir dosyayı bulamazsa ne zaman include() bir uyarı oluşturur, ancak require_once() ölümcül bir hata üretecektir.

Dosyayı önce dahil ise başka bir şeydir. Sonra require_once() tekrar dahil değildir.

ilk dosyayı ayrıştırmak için yana gerektiren, dahil daha büyük yüke sahiptir. Değiştirilmesi içerir ile gerektiren genellikle iyi bir optimizasyon tekniğidir.