IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Objet en session et Serialisable


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 130
    Par défaut Objet en session et Serialisable
    Bonjour,
    voici un ce que je cherche a faire mettre un objet en session et l'afficher sur une page mais ca ne marche pas ...
    voici ce que j'ai fait

    classe vehicule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php
    abstract class Vehicule implements Serializable
    {
    	protected $vitesse = 0;
     
    	abstract protected function __sleep();
    	abstract protected function __wakeup();
     
    	/**
    	 * @see Serializable::serialize()
    	 *
    	 */
    	public function serialize() {
    	}
     
    	/**
    	 * @see Serializable::unserialize()
    	 *
    	 * @param serialized $serialized
    	 */
    	public function unserialize($serialized) {
    	}
     
    	abstract public function accelerer($vitesse);
    	abstract public function decelerrer($vitesse);
    }
    ?>
    classe voiture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    <?php
    define("vehicule", "vehicule.php");
    require_once(vehicule);
    class Voiture extends Vehicule
    {
    	private $marque;
    	private $porte;
    	private $roue;
    	public $tab = array();
     
    	public function __construct($marque = "Renaud", $porte = 4, $roue = 5) {
    		$this->marque = $marque;
    		$this->roue = $roue;
    		$this->porte = $porte;
    	}
     
    	public function __sleep()
    	{
    		$tab['marque'] =& $this->marque;
    		$tab['porte'] =& $this->porte;
    		$tab['marque'] =& $this->roue;
     
    		return $tab;
    	}
     
    	public function __wakeup()
    	{
    		$this->marque =& $tab['marque'];
    		$this->porte =& $tab['porte'];
    		$this->roue =& $tab['roue'];
    	}
     
    	public function __toString() 
    	{
    		return "Marque : " . $this->marque . " roue : " . $this->roue . " porte : " . $this->porte . " vitesse : " . $this->vitesse;
    	}
     
    	/**
    	 * @see Vehicule::accelerer()
    	 *
    	 */
    	public function accelerer($vitesse) 
    	{
    		$this->vitesse += $vitesse;
    	}
     
    	/**
    	 * @see Vehicule::decelerrer()
    	 *
    	 */
    	public function decelerrer($vitesse) 
    	{
    		$this->vitesse -= $vitesse;
    	}
     
    	/**
    	 * @return unknown
    	 */
    	public function getMarque() {
    		return $this->marque;
    	}
     
    	/**
    	 * @return unknown
    	 */
    	public function getPorte() {
    		return $this->porte;
    	}
     
    	/**
    	 * @return unknown
    	 */
    	public function getRoue() {
    		return $this->roue;
    	}
     
    	/**
    	 * @param unknown_type $marque
    	 */
    	public function setMarque($marque) {
    		$this->marque = $marque;
    	}
     
    	/**
    	 * @param unknown_type $porte
    	 */
    	public function setPorte($porte) {
    		$this->porte = $porte;
    	}
     
    	/**
    	 * @param unknown_type $roue
    	 */
    	public function setRoue($roue) {
    		$this->roue = $roue;
    	}
    }
    ?>
    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <?php
    	session_start();
     
    	define("voiture", "voiture.php");
    	require_once(voiture);
     
    	$v = new Voiture ( );
    	echo $v . "<br/>";
    	$v->accelerer(10);
    	echo $v . "<br/>";
     
    	$_SESSION['voiture'] = $v;
    ?>
    <a href="ici.php">la</a>
    ici.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    session_start();
    define("voiture", "voiture.php");
    require_once(voiture);
     
    $vo = $_SESSION['voiture'];
    echo $vo;
    ?>
    Donc le truc c'est que sur la page ici.php rien ne s'affiche. est ce que vous pouvez m'aider ?

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 338
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 338
    Billets dans le blog
    17
    Par défaut
    Pas besoin de dé/linéariser les objets si tu utilises le gestionnaire de sessions PHP, il fait cela automatiquement.
    Il faut juste s'assurer que les classes sont correctements définies sur toutes les pages requises AVANT l'appel à session_start( ).

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 130
    Par défaut
    merci de cette précieuse précision ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Objet en session
    Par orochimaru dans le forum Langage
    Réponses: 3
    Dernier message: 09/08/2006, 16h47
  2. [POO] Stockage de référence objet en session
    Par starn2000 dans le forum Langage
    Réponses: 4
    Dernier message: 26/07/2006, 15h35
  3. problème pour reattacher un objet à une session
    Par K-Kaï dans le forum Hibernate
    Réponses: 2
    Dernier message: 05/07/2006, 15h16
  4. Objet en session
    Par maximenet dans le forum Langage
    Réponses: 3
    Dernier message: 29/06/2006, 16h51
  5. Réponses: 3
    Dernier message: 30/09/2005, 22h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo