|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Vincent Développeur informatique Inscription : janvier 2009 Messages : 246 ![]() |
Bonjour à toutes et à tous,
Comment peut on faire pour inclure un morceau de code qui se répète un peu partout dans un script sans l'inclure à partir d'un fichier externe mais en utilisant un morceau de code qui se trouve dans le script en lui même. Ça correspond à un include comme en C. Merci |
|
|
00
|
|
|
#2 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2008 Messages : 30 ![]() |
salut, il faut que tu définisse ton morceau de code en fonction et ensuite tu l'appelles comme bon te semble.
Code php :
ensuite pour l'appeler, mettons que ça soit pour traiter une variable : Code php :
tu peux aussi la faire sans argument si tu ne dois pas passer de variable ou que les variables sont transmises par $_POST ou $_GET |
||||
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() Vincent Développeur informatique Inscription : janvier 2009 Messages : 246 ![]() |
J'y avais pensé mais je me disais qu'il existait peut être quelque chose d'autre.
En tout cas merci beaucoup de ta réponse.
|
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() ![]() |
la fonction include('script.php'); permet de mettre tout le code contenu dans ton script, directement dans la page que tu veux.
|
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Vincent Développeur informatique Inscription : janvier 2009 Messages : 246 ![]() |
Merci de ta réponse, mais tu as mal lu ma question. Je ne veux pas inclure un fichier (un script) externe mais un morceau de code se trouvant dans le même script. Si tu as une solution, n'hésite pas, parce que être obligé de passer par une fonction pour faire ça je trouve ça
|
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2008 Messages : 30 ![]() |
En étant dans le même fichier sans inclusion tu es obligé de passer par une fonction ou une variable.
Sachant que tu as dis que c'était un morceau de code j'ai pensé à plusieurs lignes de script, donc la fonction est la plus appropriée à mon sens. Je ne vois pas en quoi utiliser une fonction est très lourd dans ton cas, il sera certainement plus lourd d'inclure ton morceau de code partout dans ton script |
|
|
00
|
|
|
#7 | ||||
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Salut,
J'ai testé l'utilisation de syntaxe HEREDOC et de la fonction eval() qui permet d'exécuter une chaîne comme un script PHP. Code :
Code :
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
||||
|
|
10
|
|
|
#8 |
|
Membre confirmé
![]() Vincent Développeur informatique Inscription : janvier 2009 Messages : 246 ![]() |
Ce qui est lourd c'est de devoir passer tous les paramètres à la fonction lorsqu'il y en a beaucoup, et de les passer par référence quand il s'agit de données modifiables en sortie. De plus ça prend des ressources pour le traitement. J'ai essayé et le temps de traitement a été rallongé par rapport à une version sans fonctions.
C'est fort dommage qu'il n'existe pas une fonction qui fasse un simple copier/collé du code avant traitement à l'intérieur d'un même script (comme include() mais sans devoir passer par un script externe). Ça épargnerait l'utilisation inutile de ressource dans ce genre de cas. Mais bon, tant pis on fera sans Mais je vais qu'en même tester ta solution Eric2a, ça a l'air pas mal. En tout cas merci à tous, et si quelqu'un à d'autres solutions, qu'il n'hésite pas. |
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() Vincent Développeur informatique Inscription : janvier 2009 Messages : 246 ![]() |
Ok, j'ai testé eval et ça fonctionne impeccable, c'est exactement ce que je cherchais. En fait la fonction commande l'interprétation du morceau de code à l'endroit où on l'appel comme si le code était noté explicitement à cet endroit. Du coup pas besoin de passer de paramètres comme avec la technique utilisant une fonction spécifique pour interpréter le code, et au niveau ressource le script est aussi rapide que si le code était présent au différents endroits où on appel eval(). De plus eval() peut aussi être utilisée pour interpréter du code stocké dans une base de donnée, c'est d'ailleurs sa fonction première.
Merci Eric2a.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com