8791 sujets

Développement web côté serveur, CMS

Encore des question:
en cherchant des infos sur include_once je suis tombé sur une page sur la portée des variables (local, global, static..). Intéressant mais il me manque une info.

Bref un include_once permet de ne pas recharger une page si ça a déjà été fait. Oui mais c'est valable ou? entre le <?php et ?> ? sur toute la page .php que l'on charge? encore plus longtemps (c'est à dire même après avoir suivi un lien qui appelle la même page mais avec l'ajout d'une variable ?var=valeur).
merci j'espère me faire comprendre à défaut d'être clair.
Modifié par maika (05 Aug 2010 - 21:01)
Modérateur
Bonjour,

Concernant l'include_once, cela sert uniquement à éviter d'inclure plus d'une fois le même fichier dans ton code.

Si tu mets 10 fois un include_once du même fichier, seulement le premier include_once sera exécuté.

Ça n'a aucun lien avec le rechargement d'une page.
1 fois c'est une fois par page?
genre si ma page c'est

[code html 1]
<code php 1>
[code html 2]
<code php 2>
etc....
[code html n]
<code php n>

include_once en "1" ne se refera pas dans le "n"?
en revanche si j'ouvre une nouvelle page il sera exécuté a nouveau?

Merci
Modifié par maika (05 Aug 2010 - 16:51)
Modérateur
Je vais essayer de prendre un exemple.

Tu as une page index.php dans laquelle tu fais :


<?php
include_once "moninclude.php";
?>

<p>Lorem ipsum</p>

<?php
include_once "moninclude.php";
?>


PHP va seulement inclure le premier moninclude.php , et non le deuxième, puisque include_once indique à PHP que tu veux l'inclure qu'une seule fois dans index.php.

Ensuite, à chaque fois que tu vas sur index.php, PHP refait la même opération.

Je t'invite à faire des tests avec des include_once appeler depuis des includes d'includes, question de bien saisir le fonctionnement.

À noter que je ne développe pas en PHP, alors je me dégage de toute responsabilité dans le cas où j'aurais dit une bétise sur ce langage. Smiley cligne
Modifié par Tony Monast (05 Aug 2010 - 16:58)
Hello,

Le 'once' est à comprendre par "une fois par requete", c'est à dire entre le moment où le client demande ta page jusqu'au moment où elle est retournée.
merci l'une fois par requete, je l'avais compris.
c'est juste qu'au début je ne savais pas si une requete c'était du début à la fin d'une balise php, d'une page ou d'une session d'un utilisateur (genre ça se met en cache et ça ne se charge plus sur les autres pages).

donc c'est la page .php qu'il fallait prendre en compte.

PS: Tien c'est drôle j'ai posté sans être identifié, par contre j'avais accès à la fonction édit.
Modifié par maika (06 Aug 2010 - 19:36)