Page 1 sur 1
le ';'
Posté : 22 juin 2012, 16:00
par Asicoo
Bonjour,
Dans cet exemple,
<?PHP
// DATA PROTECTION //
$COUNT_COUNT_ACCOUNT = HTMLENTITIES($ACCOUNT['login']);
$COUNT_COUNT_PLAYER = HTMLENTITIES($PLAYER['name']);
$COUNT_COUNT_GUILD = HTMLENTITIES($GUILD['name']);
$COUNT_COUNT_PLAYER_DELETED = HTMLENTITIES($PLAYER_DELETED['name']);
$COUNT_COUNT_JINNO = HTMLENTITIES($PLAYER_JINNO['empire']);
$COUNT_COUNT_CHUNJO = HTMLENTITIES($PLAYER_CHUNJO['empire']);
$COUNT_COUNT_SHINSOO = HTMLENTITIES($PLAYER_SHINSOO['empire']);
$COUNT_COUNT_MAN = HTMLENTITIES($SEX_MAN['job']);
$COUNT_COUNT_WOMAN = HTMLENTITIES($SEX_WOMAN['job']);
$COUNT_COUNT_NINJA = HTMLENTITIES($JOB_NINJA['job']);
$COUNT_COUNT_SURA = HTMLENTITIES($JOB_SURA['job']);
$COUNT_COUNT_SHAMAN = HTMLENTITIES($JOB_SHAMAN['job']);
$COUNT_COUNT_WARRIOR = HTMLENTITIES($JOB_WARRIOR['job']);
?>
La toute dernière ligne,
$COUNT_COUNT_WARRIOR = HTMLENTITIES($JOB_WARRIOR['job']);
J'ai lu que le "
;" à la fin d'une instruction, n'était pas obligatoire, pourquoi ?
Re: le ';'
Posté : 22 juin 2012, 18:14
par xTG
Parce que c'est la fin de ton fichier, donc comme il n'y a rien à évaluer derrière PHP ne peut pas faire d'erreur de syntaxe.
Re: le ';'
Posté : 22 juin 2012, 21:29
par Asicoo
D'accord

Merci
Re: le ';'
Posté : 22 juin 2012, 22:05
par sirakawa
une stupidité de plus de php!
Re: le ';'
Posté : 22 juin 2012, 22:16
par xTG
une stupidité de plus de php!
Oui c'est vrai que leur analyse grammaticale est à chier...
Mais pour avoir travailler sur un projet de ce type ce semestre je dois bien avouer que c'est pas facile quand on accepte le multi-lignes. ^^'
Re: le ';'
Posté : 22 juin 2012, 22:36
par Ryle
Je rejoint également sirakawa. La tolérance de php n'en fait pas une bonne pratique pour autant et il vaut mieux toujours mettre un point-virgule à la fin de tes instructions (ca évitera notamment le jour où tu rajoutes une nouvelle instruction à la fin de ton fichier, de t'arracher les cheveux à comprendre pourquoi tout d'un coup le code d'origine ne fonctionne plus

)
Re: le ';'
Posté : 22 juin 2012, 22:40
par dix2
salut,
le ';' est le séparateur d'instructions en PHP (et dans bcp de langages d'ailleurs)
par conséquent, si ton programme ne comporte qu'une instruction, le ';' est totalement inutile
si ton programme en comporte 2, il faut un ';' entre les 2 instructions
si ton programme en comporte n, il faut un ';' :
- entre la 1ère instruction et la 2ème
- entre la 2ème et la 3ème
- ...
- entre la (n-1)ième et la n-ième
mais pas à la fin de ta n-ième instruction
@+
dix2
Re: le ';'
Posté : 23 juin 2012, 18:33
par moogli
Tiens un écho ?
Sinon il est de même pour le dernier ?> d'un fichier qui est facultatif.
En général les gens apprécient pour pas être emm**** avec les sessions XD
@+
Re: le ';'
Posté : 23 juin 2012, 19:50
par hsujen44
Oui c'est vrai que leur analyse grammaticale est à chier.

Re: le ';'
Posté : 23 juin 2012, 20:20
par dix2
Tiens un écho ?

???
Sinon il est de même pour le dernier ?> d'un fichier qui est facultatif.
bah justement, la raison principale qui fait que le ';' à la fin de la dernière instruction est facultatif est différente de celle du caractère facultatif du '?>' en fin de fichier
Contrairement à ce qu'on pourrait penser en regardant du code PHP, le ';' n'a pas pour rôle de clôturer une instruction mais celui de séparer 2 instructions alors que le '?>' a bien pour rôle de clôturer un script PHP
Le '?>' est facultatif en fin de fichier et est déconseillé à cause, il me semble, des inclusions de fichiers
@+
dix2
Re: le ';'
Posté : 23 juin 2012, 21:37
par moogli
1/ tu a juste un peu répéter ce qui a été dit avant ^^
2/ séparer, finir, la plus part du temps la différence est mince.
Le tout c'est de savoir pourquoi on l'utilise
La non fermeture c'est principalement pour les soucis de fin de fichier foireuse couplée à un header
Enfin le principal c'est que la question est eu une réponse.
@+
Re: le ';'
Posté : 23 juin 2012, 22:07
par dix2
justement, je comprends pas pourquoi certains disent que l'analyseur grammatical de PHP est "à chier"
je ne l'ai jamais étudié à fond mais sur le point évoqué dans ce topic, à savoir la gestion du ';', je trouve que l'analyseur fait correctement son travail
il est même assez permissif, comme la politique du langage PHP en général, car il permet que la dernière instruction se termine par un ';'
C'est d'ailleurs cette permissivité qui m'a attiré dans le langage PHP
c'est tellement plus "fun" d'avoir un tableau avec un mélange d'int, de string, de bool ...
dix2
Re: le ';'
Posté : 23 juin 2012, 22:34
par dix2
et comme on parle du langage PHP, j'en profite pour dire un grand bravo à ceux qui ont créé Mantis
je travaille actuellement dessus (customization de l'appli) et sincèrement c'est très très bien écrit
c'est vraiment "kiffant" de travailler sur du code super bien écrit
et ce n'est pas toujours le cas ...
alors encore un gros BIG UP aux dev de Mantis
++
dix2
Re: le ';'
Posté : 24 juin 2012, 13:35
par Asicoo
Je pensais pas en arriver là avec une simple question

.
Merci
