Mon premier singleton

Eléphant du PHP | 226 Messages

11 mars 2012, 23:11

Bonjour,

Je ne sais pas que veut dire cette erreur:

( ! ) Parse error: syntax error, unexpected '=' in line 20
<?php
class ConnexionSingleton
{
/**
* Nous mettons null parce qu'on est par defaut: non-connecté.
*/

private static $estConnecter = null ;
private $identifiant ;

private function __construct($x) 
{
$this->$identifiant = $x ;
}

public static function connexion($x)
{
 if(is_null(self::$estConnecter))
  {
   self::identifiant = new ConnexionSingleton($x) ;
   self::estConnecter = 'Connecté' ; 
  } else {
     echo 'Erreur de connexion' ;
    }
}

public static function testConnexion()
 {
  if(isset(self::estConnecter))
  {
   echo 'La connextion est bonne. Test du id:'  ;
   return self::identifiant ;
  }
 }
}


$compte1 = ConnexionSingleton::connexion('hke3') ;
$compte1->testConnexion() ;
?>
Djun, L'inoubliable et l'incontournable

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

12 mars 2012, 00:27

Ce message d'erreur veut dire que tu as un problème de syntaxe ligne 20, il y a un signe '=' alors que d'après ton code, celui-ci n'a rien à faire là.

Quant à la raison de l'erreur, c'est probablement parce que tu essayes d'affecter une valeur à une variable que tu appelles de façon statique (et lorsqu'une variable est statique, tu n'es pas sensé pouvoir en modifier le contenu)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 226 Messages

12 mars 2012, 01:22

merci
Djun, L'inoubliable et l'incontournable

Eléphant du PHP | 226 Messages

12 mars 2012, 02:09

<?php
class ConnexionSingleton
{
/**
* Nous mettons null parce qu'on est par defaut: non-connecté.
*/

private static $estConnecter = null ;
private static $identifiant = '' ;

private function __construct($x) 
{
self::$identifiant = $x ;
}

public static function connexion($x)
{
 if(is_null(self::$estConnecter))
  {
   self::$identifiant = new ConnexionSingleton($x) ;
   self::$estConnecter = 'Connecté' ; 
  } else {
     echo 'Erreur de connexion' ;
    }
}

public function getConnexion()
 {
  return $this->estConnecter ;
 }

public function getIdentifiant()
 {
 return $this->identifiant ;
 }
}

$compte = ConnexionSingleton::connexion('hke3') ;
echo $compte->getConnexion() ;
echo $compte->getIdentifiant() ;

?>
Erreur: ( ! ) Fatal error: Call to a member function getConnexion() on a non-object in C:\wamp\www\MaPage.php on line 39
Djun, L'inoubliable et l'incontournable

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

12 mars 2012, 10:55

Connexion ne retourne rien .........

L'erreur est donc normal
Il en faut peu pour être heureux ......