Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    include vs include_once

    Non ho mai capito perche' esistono due versioni di include, quando in teoria il comportamento normale sarebbe quello di includere un file una sola volta. Quali sono i casi pratici in cui ha senso includere lo stesso file piu' volte? A me non e' mai capitato.

  2. #2
    uhm, da quello che avevo letto in giro su internet include_once include e fa girare lo script una sola volta, potrebbe magari (ipotesi) creare problemi nel caso te devi richiamare una funzione storata nel file che includi credo.

    Ovviamente attendo pure io la risposta di altri ma non mi sono mai soffermato molto sull'argomento, usando sempre e solo degli include normali (e non gli _once).

  3. #3
    *rilegge il proprio post*

    Documentandomi sul sito ufficiale di php.net pare che il rapporto sia differente tra i due comandi:

    Per Include

    The include() statement includes and evaluates the specified file.

    http://it.php.net/manual/en/function.include.php

    Per Include_once

    The include_once() statement includes and evaluates the specified file during the execution of the script. This is a behavior similar to the include() statement, with the only difference being that if the code from a file has already been included, it will not be included again. As the name suggests, it will be included just once.

    include_once() may be used in cases where the same file might be included and evaluated more than once during a particular execution of a script, so in this case it may help avoid problems such as function redefinitions, variable value reassignments, etc.

    http://it.php.net/manual/en/function.include-once.php

    Personalmente mi ha chiarito la differenza dei due comandi ed il loro relativo utilizzo.

  4. #4
    Rileggi ancora il primo post

    La differenza mi e' perfettamente chiara, la mia domanda e': quando e' utile la funzionalita' di include "semplice"? In altre parole, quand'e' che e' utile includere lo stesso file piu' di una volta? In altre parole ancora, mi e' chiara l'utilita' della specifica caratteristica di include_once(), ma non quella di include().

  5. #5
    IMHO penso che se include normale due volte all'interno di una pagina genera errore, mentre l'include_once non necessariamente, è possibile penso utilizzarlo (l'include normale) nel caso tu abbia necessità che la pagina non venga inclusa due volte, forse ha più senso in un forum o in un cms o portale strutturato in questa maniera.

  6. #6
    Non ho capito...

  7. #7
    Uhm,
    io di base userei comunque include() in modo che se per sbaglio metto da un'altra parte del mio codice (della stessa pagina) un'inclusione allo stesso file mi generi errore di eventuale ridefinizione di una funzione.

    D'altro canto se devo fare un sito in fretta potrei usare l'include_once() che non mi genera questo errore e sistemarlo poi in un secondo tempo.

    Penso esistano altri casi ma non mi vengon al momento in mente altri casi possibili

  8. #8
    Originariamente inviato da goikiu
    Uhm,
    io di base userei comunque include() in modo che se per sbaglio metto da un'altra parte del mio codice (della stessa pagina) un'inclusione allo stesso file mi generi errore di eventuale ridefinizione di una funzione
    Ma scusa, include_once() e' fatto apposta proprio per questo genere di situazioni, no?

  9. #9
    include_once non genera quel tipo di errore (secondo php.net), include il file del path indicato una volta sola.(senza dare warning o simili sgradevoli cose)

    io tenderei comunque ad usare sempre include , in quanto a mio parere includere due volte un file è un'errore, se ho bisogno di stampare lo stesso codice più di una volta posso ciclarlo / farne una funzione.

  10. #10
    Ma infatti include_once() e' fatto apposta per evitare di includere due volte lo stesso file, che ti frega del messaggio di errore?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.