Differenza tra include() e require()

novello88

Utente Attivo
3 Mar 2012
103
1
0
Non mi è chiara la differenza tra queste due funzioni...
qualcuno è così gentile da spiegarmela?

Grazie a tutti
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
le istruzioni sono (es.):
include "pinco.php"; se pinco non trovato errore, ma lo script prosegue (con probabile ca..no)
include_once "pinco.php"; come sopra, ma se trova e già incluso non lo include di nuovo
require "pinco.php"; se pinco non trovato errore e lo script si arresta
require_once "pinco.php"; se pinco non trovato errore e lo script si arresta, ma se trova e già incluso non lo include di nuovo
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Sostanzialmente sono identici in tutto tranne che nella gestione degli errori; la funzione include() genera un warning che non blocca l'esecuzione dello script, require() genera invece un fatal errror che porta l'esecuzione dell'applicazione a bloccarsi.
 

Bivio

Utente Attivo
19 Mag 2010
91
0
6
Io sto sempre utilizzando include_once, secondo voi è indifferente oppure conviene usare require? parlo sempre per una questione di correttezza e professionalità...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
considerato che l'include fa proseguire puoi avere risultati assurdi, require arresta.
quindi meglio require, anche se un buon script non dovrebbe presentare errori questi possono non essere dovuti allo script, quindi seondo me meglio comunque il require
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
In breve suggerisce di usare require_once quando includi un file "normalmente", e include_once quando l'inclusione è subordinata ad una condizione (es. l'esistenza del file):
PHP:
<?php
require_once 'file.php';

if (file_exists('file2.php')) {
    include_once 'file2.php';
}
?>
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
L'utilizzo delle varianti include_once e require_once serve per indicare all'engine PHP che prima di icludere una pagina si dovrà controllare che questa non sia già stata richiamata.
Ad esempio, require_once può essere adottato per richiamare file che presentano dichiarazioni di classi per l'istanza di oggetti, grazie ad esso la classe non potrà essere ridichiarata prima di essere utilizzata.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
scusa, sono antiquato provengo, forse rimasto, al vecchio goto numero_riga, ma cone già detto per me l'uso delle classi (tavolta utile) non è altro che scrivere caratteri in più
 

Bivio

Utente Attivo
19 Mag 2010
91
0
6
Quindi in poche parole, dipende in base al proprio progetto e valutare di conseguenza qualche usare.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
cito le testuali parole di un mio vecchio libro

....
La scelta migliore, cui ci si dovrebbe sempre attenere, se non si hanno ottime ragioni per procedere differentemente, è di utilizzare la dichiarazione require_once che evita tutti i problemi precedenti.
....
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
ciao,

io uso questa tecnica ma non so se sia la piu indicata anche perchè non l'ho vista mai usare

nella pagina richiamo un solo file con

PHP:
require_once('file_inclusi.php');

in file_inclusi.php scrivo:

PHP:
include_once('prima_classe.php');
include_once('seconda_classe.php');
include_once('funzioni.php');
include_once('costanti.php');

etc
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
la discussione sembrainteressare.
@ciric
penso che vada bene comunque utilizzando tutti require andrebbe beno lo stesso.
un piccolo appunto: non ci vorrebbero le parentesi, include e require non sono funzioni ma costrutti
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
in effetti nel file che include le librerie non uso le parentesi

ho sbagliato a postare

però nella pagina, quando uso il require, metto anche le parentesi e non ricevo nessuna notifica di errore

probabilmente si possono usare entrambe le sintassi (?!)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
cioa
infatti non è un error è solo un'imprecisione, ma che funzia comunque
un po (credo) come echo ("pinco"); non è un errore ma echo è un costrutto quindi è meglio senza ()
 
Discussioni simili
Autore Titolo Forum Risposte Data
S Differenza tra le funzioni include () e require ()? PHP 1
E Query differenza tra tabelle MySQL 5
A differenza tra account email e ISP presenti in blacklist Posta Elettronica 0
W Differenza tra orari PHP 3
Gabriele Visioli Differenza tra hosting e hosting WordPress Hosting 4
U [PHP] Differenza tra amministratore e utente PHP 2
M PHP Arrotondamento minuti in differenza tra due Orari PHP 9
V [PHP] Differenza reale tra bindParam e bindValue PHP 8
Z Google: qual'è la differenza tra Popolarità e Autorevolezza di un sito? SEO e Posizionamento 1
M Qual'è la differenza tra Server.Transfer e Response.Redirect? ASP.NET 1
Giacomo92 Differenza tra Webmaster e Web designer? Webdesign e Grafica 2
V Calcolare la differenza tra due date in PHP PHP 1
V Differenza tra operatori == e === in javascript? Javascript 1
felino [C#] Differenza tra ClipboardPasted e ClipboardPasting .NET Framework 2
F differenza tra 2 date PHP 5
M Calcolare differenza temporale tra datetime salvati sui records di una tabella mysql PHP 18
Monital Differenza tra int smallint etc. Database 5
A Differenza tra anteporre o posporre l'operatore di incremento nel ciclo for Javascript 5
C Differenza tra due ore PHP 17
PenguinLover Differenza tra detrazioni e deduzioni? Leggi, Normative e Fisco 3
Monital Differenza tra date PHP 8
YellowMan Differenza tra Server Virtuale e Cloud Server Cloud Computing e Cloud Server 1
M Differenza tra precision e scale PHP 2
M [VB.Net] Che differenza c'è tra CType e DirectCast? ASP.NET 1
S Differenza tra queste righe di codice Javascript 2
S Differenza tra orari sballata! PHP 2
M Differenza tra richiesta sincrona e asincrona Ajax 0
emanuelevt differenza tra $array[]='valore' o array_push($array,'valore') PHP 2
emanuelevt differenza concreta tra array_rand e shuffle PHP 2
SolidSnake4 differenza tra sleep() e microtime() PHP 9
M Differenza tra date e countdown PHP 3
M Differenza tra valori sulla stessa colonna Database 10
A Differenza comportamento tra click mouse e pressione tasto invio Visual Basic 0
borgo italia differenza tra applet e script? Javascript 10
I Differenza tra blog e sito Webdesign e Grafica 12
E Differenza tra utenti e hits [Era: Statistiche accessi al sito] Discussioni Varie 2
B Che differenza c'è tra un sito professionale e uno no ? Webdesign e Grafica 7
V Differenza di visualizzazione tra IE e FireFox HTML e CSS 4
S Differenza date record successivi MS Access 7
T differenza fra mysql xampp e un mysql server Database 0
Emix [PHP] Differenza Date + Ore PHP 3
S [PHP] Eseguire differenza su dati SQL presenti sulla stessa colonna PHP 1
K Certificato SSL (https) gratuito o a pagamento? che differenza c'è? Server Dedicati e VPS 1
andrea.peo Calcolo differenza fra record attivo e precedente PHP 1
G Calcolo differenza valori provenienti da una tabella PHP 0
giap Classi stili/stili per singoli TAG- differenza- HTML e CSS 2
S Differenza data PHP 1
C Ma perchè!!!! Differenza visualizzazione con iOS Safari HTML e CSS 2
Shyson Differenza UTF-8 e gli altri HTML e CSS 12
L Reale differenza con il precedente HTML HTML e CSS 1

Discussioni simili