Syntaxe

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 : Syntaxe

Re: Syntaxe

par Cyrano » 31 août 2010, 20:23

Je signale au passage qu'avec Notepad++, on peut effectuer un rechercher/remplacer dans les dossiers, avec une expression régulière ou non, et ce sans même devoir ouvrir les fichiers. Il faut bien réfléchir pour le pas faire les choses à l'envers et se retrouver avec des trucs encore plus bizarre dans le code.

Mais sommairement, on ouvre un des fichiers typiques, on commence par les « <?= » qu'en remplace par un « <?php echo » en oubliant pas de laisser un espace après le « echo ». Ensuite on fait les « <? » qu'on remplace par « <?php » et on finit avec le remplacement de « <?phpphp » par « <?php »

Normalement après ça tous les fichiers sont à jour pour une syntaxe sans short_opentag.

Mais attention, faire des essais avant sur une copie du dossier parce que le remplacement sera définitif sauf sur celui qui est ouvert et non encore enregistré, on ne pourra pas faire un [Ctrl]+[Z] pour annuler quoique ce soit, donc si une boulette est faite, ça risque d'être pire après.

Re: Syntaxe

par stealth35 » 31 août 2010, 19:25

Cette directive affecte également l'utilisation de <?=, qui est identique à <? echo. L'utilisation de cette écriture nécessite que l'option short_open_tag soit activée.
ouch c'est vicieux #-o

Re: Syntaxe

par AB » 31 août 2010, 18:08

Si tu tiens vraiment à avoir un script peu portable, pourquoi pas...
Cependant, malgré le fait que des personnes trouvent les balises courtes et les balises du style ASP pratiques, elles sont moins portables et donc, généralement, non recommandées.

Re: Syntaxe

par AoSiX » 31 août 2010, 17:10

Alors l'idéal pour moi serait de désactiver short_tag, et d'activer asp_tag :)

Re: Syntaxe

par AB » 31 août 2010, 17:03

short_open_tag boolean

Définit si les balises courtes d'ouverture de PHP (<? ?>) sont autorisées ou non. Si vous voulez utiliser PHP avec XML, vous devez désactiver cette option de configuration pour pouvoir utiliser <?xml ?>. Sinon, vous pouvez l'écrire à l'aide de PHP, par exemple : <?php echo '<?xml version="1.0">'; ?>. Si cette option est désactivée, vous devez utiliser la version longue d'ouverture de balises PHP (<?php ?>).

Note:

Cette directive affecte également l'utilisation de <?=, qui est identique à <? echo. L'utilisation de cette écriture nécessite que l'option short_open_tag soit activée.

Re: Syntaxe

par AoSiX » 31 août 2010, 09:54

ah autant pour moi, je pensais que asp_tags était uniquement pour <%

Re: Syntaxe

par stealth35 » 31 août 2010, 03:40

<?= c'est les tags ASP pas les shorttags

<?= $variable ?>
==
<?php echo $variable ?>


pour (dés)activé c'est avec asp_tags
(donc oui on peux les activer indépendamment des short tag puisque c'est pas pareil ;) )

Re: Syntaxe

par AB » 30 août 2010, 18:43

Je rebondi juste sur une chose, est il possible d'activé <?= sans activé <? ? ce serait quand même super pratique
perso je n'ai jamais utilisé les shorttags (excepté par étourderie) et ça m'a facilité grandement la tâche lors de la migration des vieux sites vers php5.

Là tu poursuivrais un peu l'ancienne méthode à moitié... avec éventuellement une moitié de problème à résoudre par la suite...

Je ne sais pas si c'est possible mais je pense que ce n'est surtout pas recommandable quand bien même ce le serait :wink:

Re: Syntaxe

par AoSiX » 30 août 2010, 17:56

Je rebondi juste sur une chose, est il possible d'activé <?= sans activé <? ? ce serait quand même super pratique

Re: Syntaxe

par AB » 30 août 2010, 17:55

...et si en fonction de l'évolution des versions de PHP il va me falloir traquer ces déclarations de manière systématique (ce qui ne me réjoui guère :))
Merci d'avance.
AoSIX t'a donné la réponse.

Concernant les versions de php, les shorttag (dont on déconseille l'utilisation depuis longtemps) ne sont plus interprétés par défaut depuis php5... Tous les vieux scripts devront donc être convertis pour passer avec la config par défaut de php5 : short_opentag sur off. On retrouve par ailleurs cette config sur les serveurs mutualisés (et dont on a pas accès à la config). De toutes façons, comme déjà dit, cela pouvait prêter à confusion donc autant mettre son code à jour.

Pour les versions suivantes, no souci car la balise <?php ne prête pas à confusion avec d'autres langages.

Re: Syntaxe

par ghost83 » 30 août 2010, 17:26

Re,

Je n'y avais même pas pensé :roll:
Merci de ce rappel et de la rapidité de ta réponse.
Cdt.

Re: Syntaxe

par AoSiX » 30 août 2010, 17:13

dans le fichier de configuration de PHP, tu as

Code : Tout sélectionner

short_opentag
Si il est a off, tu ne peux utiliser que <?php

si il est à On, tu peux utiliser <?, mais aussi des formes du genre <?=$mavar?> ; On est plus dans une logique de template.

Pourquoi c'est mieux <?php ?

Car <? est déjà utilisé par XML ! Du coup si tu écris en dur ; j'entend sans print, echo ; <?xml dans ton fichier, PHP cherchera à interprété le reste du documment...pas top !

Syntaxe

par ghost83 » 30 août 2010, 17:08

Bonjour,

Je ne suis pas une sommité du PHP et actuellement sur un site en refonte, j'ai une syntaxe qui me pose problème
 <?=$mavariable?>
Que je dois remplacer allégrement pour des raison de compatibilité par:
<?pho echo $mavariable; ?>
Là n'est donc pas ma question, le problème est de savoir d'une par pour ma culture générale d'où provient ce mode de déclaration et si en fonction de l'évolution des versions de PHP il va me falloir traquer ces déclarations de manière systématique (ce qui ne me réjoui guère :))
Merci d'avance.