Je travaille sur une classe de connexion en PHP. J'ai la ligne suivante dans une définition de classe:Vous ne pouvez pas utiliser sha1 dans la définition de classe?
private $salty = sha1('salty');
... ce qui me donne l'erreur suivante:
« Parse error: parse error, attendant ','' or
';' » dans C: \ xampp \ htdocs \ test \ inclut \ jaLogin.php sur la ligne 26 "
J'ai essayé d'utiliser cette ligne en dehors de la définition de la classe et ça marche bien, c'est seulement quand je l'utilise dans la définition de classe que je reçois un problème.
Si je retire le mot "privé" j'obtiens une erreur légèrement différente:
Parse error: parse error, attend `T_FUNCTION » dans C: \ xampp \ htdocs \ test \ includes \ jaLogin.php sur ligne 26
Je me sens comme si je manque quelque chose évidente ...
Bingo! Droit sur la marque! Merci pour ça. Une idée de pourquoi c'est? –
C'est parce que votre classe est juste une structure de données. Vous devez toujours appeler une fonction pour les définir sur certaines valeurs. Dans votre cas, c'est la fonction constructeur. – toto
Ajout d'une explication. En fait, c'est un problème de quand, dans le processus d'exécution, les variables membres sont évaluées. –