După cum știți, în PHP 4 are o funcție pentru a se conecta la alte fișiere. Aceasta includ. include_once. necesită și require_once. Cum acestea diferă și cum să le folosească?
Pentru a începe Să examinăm diferența dintre includ și necesită. Aceste două funcții diferă numai ca răspuns la lipsa fișierului inclus. includ o funcție ( „turn“), în absența fișierului specificat afișează un mesaj despre eroarea de tip E_WARNING, dar programul continuă. Spre deosebire de aceasta, necesită ( «cerere"), în absența fișierului inclus produce o eroare fatală (E_ERROR), ceea ce conduce la un scenariu de oprire de executare imediată.
Astfel, pe baza cunoștințelor despre modul de a rula codul, puteți utiliza unul sau celălalt operator. De exemplu, daca este doar o bucată de HTML, care, în general, nu afectează progresul programului, sau este un fel de plug-in-uri secundare fără de care restul programului poate funcționa corect, nu ezitați să utilizați includ. În alte cazuri, am recomandăm utilizarea nevoie. Acest lucru va preveni posibilitatea unei executarea de cod incorect în cazul unei erori (de exemplu, plug-in fișier șters de virus sau pierdut în procesul de dezvoltare) se va termina pur și simplu script-ul. Într-un articol viitor, vă voi arăta cum să urmăriți absolut toate situațiile non-standard în codul și să fie conștienți de ceea ce se întâmplă în cadrul site-ului.
Acum ia în considerare include_once si require_once design. De la simplu includ și au nevoie de diferite care se încheie «_once», care împiedică reconectarea aceleași fișiere.
De exemplu, în cazul în care dumneavoastră includ fișier conține descrieri ale claselor sau funcții, atunci fișierul nu poate fi re-conectat, deoarece acesta va fi re-executate și PHP va emite o eroare fatală atunci când încearcă să determine claselor sau funcții la numele existente. Nu există nici o îndoială că vă puteți construi codul astfel încât reconectarea nu sa mai întâmplat, dar este restricții inutile și o muncă suplimentară. Prin urmare, funcțiile cu sufixul «_once» utile și necesare.
In practica mea, folosesc două tipuri de fișiere. Primul tip - un fișier care conține una sau mai multe clase, și nu conțin cod, executabil „direct“. Aceste fișiere sunt întotdeauna conectați folosind require_once. Al doilea tip - sunt șabloane sau modele de piese care conțin cod HTML și PHP-biți. Aceste fișiere sunt incluse cu ajutorul necesită. pentru că, uneori, una și aceeași bucată de șablon poate fi utilizat de mai multe ori pe pagină.
N-am folosi includ și include_once. deoarece cred că lipsa unui fișier de a fi situație critică, care necesită o soluție imediată, fără nici un compromis. Și dacă am nevoie pentru a conecta un fișier, a cărui prezență este în dubiu, eu doar de pre-a verifica acest lucru folosind is_file ().
Există o altă caracteristică atunci când se utilizează includ. În ciuda faptului că într-adevăr nu este o funcție, ci o construcție de limbaj, întoarce operatorul declarație funcționează în interiorul fișierului inclus. Și, prin urmare, includ o returnează către apelant. Se pare că acest lucru
$ Ret = includ 'file.php';
În prezent, este totul, chiar programul!