Page 1 sur 1

Mon premier singleton

Posté : 11 mars 2012, 23:11
par djun
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() ;
?>

Re: Mon premier singleton

Posté : 12 mars 2012, 00:27
par Ryle
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)

Re: Mon premier singleton

Posté : 12 mars 2012, 01:22
par djun
merci

Re: Mon premier singleton

Posté : 12 mars 2012, 02:09
par djun
<?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

Re: Mon premier singleton

Posté : 12 mars 2012, 10:55
par moogli
Connexion ne retourne rien .........

L'erreur est donc normal