IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Différence entre include_once et include


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Jcpan
    Inscrit en
    Août 2008
    Messages
    542
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 542
    Par défaut Différence entre include_once et include
    Bonjour

    Tout est dans le titre et un exemple de code me ferai grand plaisir.

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 44
    Par défaut
    Citation Envoyé par Jcpan Voir le message
    Bonjour

    Tout est dans le titre et un exemple de code me ferai grand plaisir.

    Merci
    salut,
    la doc php explique les choses trés bien :

    La commande include_once() inclut et évalue le fichier spécifié durant l'exécution du script. Le comportement est similaire à include(), mais la différence est que si le code a déjà été inclus, il ne le sera pas une seconde fois.
    j'ajoute que include_once est bien sur plus "complexe" que include

  3. #3
    Membre très actif
    Avatar de ProgVal
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 636
    Par défaut
    Bonjour,

    Personnellement, quand je crée un site dynamique, j'ai ces fichiers:
    /includes/header.php (haut de page)
    /includes/footer.php (bas de page)
    /includes/initialize.php (connexion à mySQL, définition des fonctions, ...)

    et le header commence par include_once("initialize.php");

    Pourquoi? C'est dans le cas où je veux exécuter un script nécessitant une connexion à mySQL, ou une focntion de la librairie, AVANT que les en-tête HTTP ne soient envoyés; auquel cas, j'aurais d'abord inclu initialize.php, avant header.php. Par exemple: lorsque d'une connexion sur mon site, je veux mettre un cookie pour éviter à l'utilisateur de se reconnecter la prochaine fois qu'il viendra sur le site.
    Mais si j'avais mis include("initialize.php") dans le header, mon script de connexion buguerai, car initialize.php aurait été appellé, et aurait redéfini les fonctions, se serait reconnecté à mySQL, ...

    Cordialement,
    ProgVal

  4. #4
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    mais la différence est que si le code a déjà été inclus, il ne le sera pas une seconde fois.
    Si durant le traitement dans ton fichier tu inclus un autre fichier x qui appel de nouveau initialize.php, celui ci ne sera pas ré-inclut.

Discussions similaires

  1. LinqToEntities: Différence entre .Include(), .Join(), .Load()
    Par takinelinfo dans le forum Accès aux données
    Réponses: 2
    Dernier message: 28/07/2011, 09h43
  2. Différence entre #include <> et #include " "
    Par Kaluza dans le forum Débuter
    Réponses: 3
    Dernier message: 13/04/2011, 16h10
  3. Réponses: 4
    Dernier message: 10/11/2008, 11h13
  4. Réponses: 9
    Dernier message: 04/10/2007, 10h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo