Précédent   Forum des professionnels en informatique > PHP > Outils
Outils Forum d'entraide sur les outils pour développeurs PHP : EDI, installation, administration... Avant de poster : FAQ outils, toutes les FAQ PHP et les comparatifs
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/10/2007, 13h25   #1
Invité de passage
 
Inscription : juin 2007
Messages : 17
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 17
Points : 4
Points : 4
Par défaut [Configuration] Question sur Include (ou Require)

Bonjour,

question qui m'est venu sans réponse... la voici:

Qu'arrive-t-il lorsqu'on fait l'inclusion (par Include or Require) du même fichier plusieurs fois? Est-ce que le serveur recharge le fichier ou, étant donnée que celui-ci a déjà été chargé, ne le rechargera pas (en utilisant un cache par exemple)?

Voici mon problème: j'ai un fichier à inclure qui ne contient que des constantes. C'est un fichier de configuration pour ne pas à avoir à changer sur chaque page les valeurs comme le nom d'une base de données, le nom d'utilisateur, les répertoires, etc.

Comme j'ai centralisé toute mes constantes dans un seul fichier (configuration centrale), il se peut que, par exemple, j'ai un fichier de fonctions qui lui aussi doit utiliser ce fichier de configuration. Alors je me retrouve avec deux include» ou «require» du même fichier.

Si je continue, je vais me retrouver avec plusieurs inclusions de ce fichier....

Est-ce que ça pourrait jouer au niveau de l'efficacité du serveur?

Merci!
charlands est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2007, 13h36   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par charlands
Est-ce que ça pourrait jouer au niveau de l'efficacité du serveur?
Oui ça peut mais le problème qui risque de se poser c'est d'obtenir des erreurs suite à la redéclaration de vos constantes et/ou de vos fonctions. C'est pourquoi il est préférable d'utiliser, à défaut de faire autrement, les fonctions (require|include)_once qui n'incluront le script que si cela n'a pas été fait auparavant : le script ne sera ainsi chargé qu'une seule fois si vous utilisez ces fonctions (même à de multiples reprises).

(notez la différence entre les fonctions include et require : ces dernières sont généralement à privilégier car en cas d'erreur le script appelant sera également stoppé suite à une erreur fatale)
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2007, 14h10   #3
Invité de passage
 
Inscription : juin 2007
Messages : 17
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 17
Points : 4
Points : 4
Excellent! Merci! C'est ce que je cherchais!

Je ne suis pas débutant, mais pas expert non plus en programmation... Au fil du temps, j'ai remarqué que pour réutiliser son code, il était indispensable de déclarer une seule fois les chemins des répertoires, le nom des BDD, etc.

Et comme je voulais optimiser mon code future et pouvoir le réutiliser sans commencer à chercher dans celui-ci pour modifier les «paths» ou les valeurs de variables je devais faire absolument un fichier de configuration général.

C'est relativement simple avec une ou deux pages PHP, mais quand c'est une trentaine de page PHP avec des pages de fonctions... Optimisation oblige...!

include_once()
ou require_once() va me permettre de le faire sans m'inquiéter de l'efficacité du code!

Merci julp!
charlands est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h37.


 
 
 
 
Partenaires

Hébergement Web