PHP kalba:
require
, o kada include
?require_once
vs. include_once
?Taip pat yra require
ir include_once
.
Taigi jūsų klausimas turėtų būti...
require
, o kada include
?require_once
vs. require
Atsakymas į 1 klausimą aprašytas [čia] (http://www.w3schools.com/php/php_includes.asp).
Funkcija require() yra identiška funkcijai include(), išskyrus tai, kad ji skirtingai tvarko klaidas. Jei įvyksta klaida, funkcija include() sukuria įspėjimą, tačiau scenarijus bus vykdomas toliau. Funkcija require() generuoja lemtingą klaidą, ir scenarijus bus sustabdytas.
Atsakymą į 2 klausimą rasite čia.
Teiginys require_once() yra identiškas require(), išskyrus tai, kad PHP patikrins, ar failas jau buvo įtrauktas, ir jei taip, jo vėl neįtrauks (nereikalaus).
Funkcijų _once ir be funkcijų _once skirtumas: Be _once kodas bus įtrauktas dar kartą, o su _once funkcijomis PHP seka įtrauktus failus ir įtraukia juos tik vieną kartą.
Skirtumas tarp require ir include: Jei reikalaujamas failas nerandamas, PHP paskelbia lemtingą klaidą, o include atveju - tik įspėjimą.
Skirtumas yra tas, kad komandos generuoja klaidas. Naudojant require
, failas, kurį norite naudoti, yra tikrai reikalingas, todėl, jei jo nerandama, generuojama E_ERROR
.
require()
yra identiškainclude()
, išskyrus tai, kad nepavykus ji taip pat sukuria lemiamąE_ERROR
lygio klaidą.
Jei nepavyksta, include
sukelia tik E_WARNING
klaidą, kuri yra daugiau ar mažiau nebyli.
Taigi naudokite jį, jei failas reikalingas, kad veiktų likęs kodas, ir norite, kad scenarijus nepavyktų, jei failo nėra.
Dėl *_once()
:
include_once()
gali būti naudojamas tais atvejais, kai tas pats failas gali būti įtrauktas ir įvertintas daugiau nei vieną kartą konkretaus scenarijaus vykdymo metu, todėl šiuo atveju jis gali padėti išvengti tokių problemų, kaip funkcijų apibrėžimų keitimas, kintamųjų reikšmių perskirstymas ir pan.
Žinoma, tas pats taikoma ir require_once()
.
Nuoroda: require()
, include_once()