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 :

avec ou sans new


Sujet :

Langage PHP

  1. #1
    Membre du Club
    www.belleskmer.com
    Inscrit en
    Septembre 2007
    Messages
    57
    Détails du profil
    Informations professionnelles :
    Activité : www.belleskmer.com

    Informations forums :
    Inscription : Septembre 2007
    Messages : 57
    Points : 44
    Points
    44
    Par défaut avec ou sans new
    bonjour

    je bidouille avec les sessions et le code objet
    je me retrouve avec un code du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     class Noeud { 
        public $Suivant;
        public$Label;     
      function Init($a,$b) {         $this->Label=$a;        $this->Suivant=$b;  }
    }
        $a = New Noeud ;
        $_SESSION['Element'][0] = $a ;
        $_SESSION['Element'][0]->Label = 'premier' ;
        $_SESSION['Element'][0]->Suivant = 10 ;
        $_SESSION['Element'][10]->Label = 'deux' ;
        $_SESSION['Element'][10]->Suivant = 109 ; 
        $_SESSION['Element'][109]->Label = 'trois' ;
        $_SESSION['Element'][109]->Suivant = NULL ;
    Et au bout de quelques jours je me suis apercu que si j'enlevais les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $a = New Noeud ;
        $_SESSION['Element'][0] = $a ;
    ca fonctionne quand meme !!

    Je me suis dit c'est parce que tu n'as pas détruit la session !

    donc je passe un coup de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // session_name("autrenom")
    session_start();
    $_SESSION = array();
    if (isset($_COOKIE[session_name()])) {
        setcookie(session_name(), '', time()-42000, '/');
    }
    session_destroy();
    Mais tout fonctionne avec ou sans new ?? Normal ?



    Merci pour vos réponses !

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 252
    Points : 8 542
    Points
    8 542
    Billets dans le blog
    17
    Par défaut
    Pour commencer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $a = New Noeud ;
    $_SESSION['Element'][0] = $a ;
    $_SESSION['Element'][0]->Label = 'premier' ;
    $_SESSION['Element'][0]->Suivant = 10 ;
    $_SESSION['Element'][0] est une instance de Noeud.

    Ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $_SESSION['Element'][10]->Label = 'deux' ;
    $_SESSION['Element'][10]->Suivant = 109 ; 
    $_SESSION['Element'][109]->Label = 'trois' ;
    $_SESSION['Element'][109]->Suivant = NULL ;
    $_SESSION['Element'][10] et $_SESSION['Element'][109] sont des instances de l'objet générique stdClass.

    Si tu retires :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $a = New Noeud ;
    $_SESSION['Element'][0] = $a ;
    Alors $_SESSION['Element'][0] sera une instance de stdClass, ce qui en soit n'est pas très gênant si tu n'utilises jamais Noeud::Init( ).

  3. #3
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Très belle explication !

    J'ajouterais juste une manière de le visualiser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $a = New Noeud ;
    $_SESSION['Element'][0] = $a ;
    $_SESSION['Element'][0]->Label = 'premier' ;
    $_SESSION['Element'][0]->Suivant = 10 ;
    var_dump($_SESSION['Element'][0]);
    Cela t'affichera un objet de classe Noeud

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $_SESSION['Element'][10]->Label = 'deux' ;
    $_SESSION['Element'][10]->Suivant = 109 ;
    var_dump($_SESSION['Element'][10]);
    cela t'affichera un objet de classe StdClass

Discussions similaires

  1. Création délégué avec ou sans new
    Par zworg dans le forum VB.NET
    Réponses: 3
    Dernier message: 07/03/2012, 16h59
  2. L'operateur new, avec ou sans ?
    Par zi_omnislasher dans le forum C++
    Réponses: 11
    Dernier message: 28/09/2007, 10h21
  3. Réponses: 7
    Dernier message: 23/07/2005, 12h50
  4. Saut avec ou sans condition
    Par Frenchghost dans le forum Assembleur
    Réponses: 16
    Dernier message: 03/01/2005, 13h28
  5. [C#] [EXCEL] Travailler avec EXCEL sans ouvrir le logiciel
    Par Fabsou dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/07/2004, 10h29

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