Les chaînes PHP sont-elles "propres" ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Les chaînes PHP sont-elles "propres" ?

Re: Les chaînes PHP sont-elles "propres" ?

par Nheavy » 24 déc. 2011, 18:18

Autant pour moi, c'est les appelle que j'ai mis avant les renseigne.

Re: Les chaînes PHP sont-elles "propres" ?

par Nheavy » 24 déc. 2011, 18:15

Ah mais c'est moi qui est déliré hier soir, j'ai inversé les demande et renseigne. Désolé :(

Re: Les chaînes PHP sont-elles "propres" ?

par Ryle » 24 déc. 2011, 18:09

Le truc, c'est surtout de considérer qu'au final le code sera interprété comme s'il s'agissait d'un seul et même script... il faut donc être cohérent dans l'ordre d'exécution par rapport aux includes... en l'occurrence pour reprendre ton exemple :

Code : Tout sélectionner

[Page_1] appelle include [Page_2] renseigne {echo_1} [Page_2] appelle include [Page_3] renseigne {echo_2 et 3} [Page_3] demande {echo_1} demande {echo_2 et 3}
Revient à (si on remplace les includes par le code qu'il contient)

Code : Tout sélectionner

[Page_1] appelle include [Page_3] renseigne {echo_2 et 3} renseigne {echo_1} [Page_3] demande {echo_1} demande {echo_2 et 3}
et donc : (on se croirait en pleine démonstration mathématique :))

Code : Tout sélectionner

[Page_1] demande {echo_1} demande {echo_2 et 3} renseigne {echo_2 et 3} renseigne {echo_1}
Ce qui devrait avoir pour effet de te dire que les variables 1, 2 et 3 que tu demandes ligne 1 et 2, ne sont pas définies (pour peu ces avertissement soient activés dans la conf de php)

En revanche, si l'on réordonne les appel et les déclarations :

Code : Tout sélectionner

[Page_1] renseigne {echo_1} appelle include [Page_2] [Page_2] renseigne {echo_2 et 3} appelle include [Page_3] [Page_3] demande {echo_1} demande {echo_2 et 3}
devrait fonctionner sans problème... CQFD ;)

Re: Les chaînes PHP sont-elles "propres" ?

par Nheavy » 24 déc. 2011, 17:16

La question ne portées pas sur le bien ou non de l'utilisation des includes, c'était sur le fait surtout que celles-ci soient en chaîne.

Merci d'avoir répondu à ma question ;)

Re: Les chaînes PHP sont-elles "propres" ?

par Ryle » 24 déc. 2011, 11:42

En effet, comme l'a indiqué xTG, le principe du include est uniquement de dire "intègre le code du script inclus comme s'il était physiquement spécifié à l'endroit de l'inclusion". Dès lors que le code html que cela engendre est correct, tous les navigateurs sauront l'interpréter.

La seule véritable contrainte avec les includes d'includes, ce sont les chemins relatifs. Si script1 intègre script2, les chemins relatifs utilisés dans script2 doivent être défini en fonction de l'emplacement sur le disque de script1 (et non pas de script2 dont le code sera considéré comme inclus dans script1). En dehors de cet aspect, y a pas de problème particulier :)

Re: Les chaînes PHP sont-elles "propres" ?

par xTG » 24 déc. 2011, 11:06

En quoi un include() est-il mal ? J'avoue ne pas trop comprendre. :/
Cependant tu fais une erreur de compréhension, l'include est fait côté serveur, ton navigateur reçoit la page finale lui donc peut lui importe que ça soit le résultat d'un seul script ou bien de l'imbrication de plusieurs, c'est totalement transparent pour lui.

Les chaînes PHP sont-elles "propres" ?

par Nheavy » 24 déc. 2011, 02:27

Bonjour,

Je teste quelques trucs pour faciliter le codage de mes pages webs et j'en suis arrivé à faire un truc du genre :

[Page_1] appelle include [Page_2] qui appelle include [Page_3]

Est-ce propre de faire ça, ça marche mais c'est peut être tout simplement mon navigateur qui accepte ça, ce qui ne serait pas le cas de tous ?

Ensuite j'ai testé ça :

[Page_1]
  • appelle include [Page_2]
    renseigne {echo_1}
[Page_2]
  • appelle include [Page_3]
    renseigne {echo_2 et 3}
[Page_3]
  • demande {echo_1}
    demande {echo_2 et 3}
Ça marche également mais j'ai un doute sur la validité universelle de ce principe comme le {echo_1} doit attendre d'être inclut une 2nd fois pour être renseigné.

Pourriez vous m'éclairer s'il vous plait ?