Newsgroup: it.comp.www.php
Titolo: Include o require?

Per quanto ho capito la differenza è che :
require viene sempre e comunque espanso mentre
include lo si può in serire in un ciclo di controllo e verrà eseguito solo
se necessario.
Si legge nel manuale di una sola differenza nella gestione degli errori. Non
ho capito se questi errori sono esclusivamente legati a quanto detto sopra.
Ancora risulta oscura la differenza tra inlude e include_once e require e
require_once.
Mi sembra di capire che:
è preferibile utilizzare sempre include_once per evitare che il file incluso
venga espanso ove non richiesto (propietà di include) e che venga dichiarato
più volte con il rischio di errore (propietà di _once).
Non vedo (per mia poca esperienza forse) perchè dovrebbe essere preferito
include a include_once.
Non vedo a cosa può servire require se tutto ciò che cambia è il fatto che
require viene eseguito anche se non esplicitamente richiesto.
Forse può servire per quei file che si vuole vengano sempre e comunque
inclusi tipo mainfile.php, header.php, footer.php. config.php, etc
Altre domande specifiche:
ho scritto un codice che a seconda dell'input apre pagine diverse includendo
dei file che ho nominato *.htm e che ho inserito in una sottocartella.
Dato che include esce dalla modalita php ed entra in html è inutile
dichiarare l'estensione dei file?
Mi sembra che se il file pagina.htm lo chiamo semplicemente pagina questo
risulterà maggiormente inaccessibile a chi voglia visionarlo fuori dallo
script (oppure lo script stesso non lo riconosce?). Oppure è meglio
chiamarlo pagina.inc?
Ho letto un pò di altre guide su questi costrutti ma ho molta confusione.
Saprei utilizzarli lo stesso ma vorrei capire qual'è la soluzione più
performante.
Grazie mille
Luciano

 Oppure h meglio chiamarlo pagina.inc?
L'information hiding non e' mai stata una solizione per la sicurezza.
In qualsiasi modo tu lo chiami se l'utente ne conosce il nome sara' in
grado di scaricarlo via web (con le dovute limitazioni).
Se vuoi evitare che sia scaricabile da web salvalo fuori dal root
folder del web server oppure in una caretlla protetta.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/1
Inviare email con allegati? 
http://url.repository.biz/go/x

 questo modo sei sicuro che non vengano ridefinite.
Attenzione però ad alcune conseguenze non ovvie sui sistemi con filesystem non case 
sensitive come windows.
include_once(dirname(__FILE__)."\INCLUDED.php");
include_once(dirname(__FILE__)."\included.php");
L'inteprete di php non tiene conto che su sistemi non case-sensitive come windows i due 
path sono in effetti riferiti allo stesso file e lo includerà due volte.
Suppongo che lo stesso problema si possa verificare in linux usando i link. qualcuno ha 
provato?
Ho notato anche che una sintassi del genere:
include_once(dirname(__FILE__)."/included.php");
include_once(dirname(__FILE__)."\included.php");
In windows non induce in errore l'interprete, che include il file una volta sola. 
Significa che php "normalizza" i path prima di utilizzarli?
-- 
L'indirizzo di posta non è valido! Per contattarmi in privato usate il form: 
http://www.gerry.it/serve/mail/
The mail address given is invalid, if you want to contact me, please use this form 
instead: 
http://www.gerry.it/serve/mail/
Chi e' pronto a dar via le proprie liberta' fondamentali per comprarsi briciole di 
temporanea sicurezza non merita ne la liberta' ne la sicurezza (Benjamin Franklin)