Session als property variabele

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mark Hogeveen

Mark Hogeveen

19/08/2013 12:38:25
Quote Anchor link
Hallo is het mogelijk om een sessie te zetten in een property variabele van een object?

Voorbeeld

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
session_start();
class Session {
    private $_session;

    public function setSession($value) {
        $this->_session = $_SESSION['session'];
        $this->_session['session'] = $value;
    }

    public function getSession() {
        return $this->_session;
    }
}


$sess = new Session;
$sess->setSession("Voorbeeld");

echo $sess->getSession()['session'];
?>


Is het bovenstaante stukje code juist?
Gewijzigd op 19/08/2013 12:39:13 door Mark Hogeveen
 
PHP hulp

PHP hulp

03/12/2021 08:16:44
 
Ward van der Put
Moderator

Ward van der Put

19/08/2013 13:10:59
Quote Anchor link
Wat wil je precies bereiken? Je hebt nu een complete class Session die één waarde opslaat in $_SESSION['session'] of deze waarde retourneert. Is dat alles?

Als je het sessiebeheer OOP wilt maken, moet je het anders aanpakken. Om te beginnen wil je deze afhankelijkheid niet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
session_start();
class Session
{

}

?>


De klasse kan niet onafhankelijk van de omgeving worden gebruikt. Het starten/hervatten van een sessie zou je in de klasse moeten inbouwen.
 
Mark Hogeveen

Mark Hogeveen

19/08/2013 13:12:47
Quote Anchor link
Daar om is het ook een voorbeeld (van hoe het niet moet dus :P)
Ik wil alleen maar weten of het kan dat een sessie in een property zit.
Gewijzigd op 19/08/2013 13:15:02 door Mark Hogeveen
 
Ward van der Put
Moderator

Ward van der Put

19/08/2013 13:23:31
Quote Anchor link
Harry hogeveen op 19/08/2013 13:12:47:
Daar om is het ook een voorbeeld (van hoe het niet moet dus :P)
Ik wil alleen maar weten of het kan dat een sessie in een property zit.

Dat kan, min of meer, maar dan wordt de basisopzet eerder zoiets:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
class Session
{
    private $_session;

    public function __construct()
    {

        session_start();
        $this->_session = $_SESSION;
    }


    public function set($key, $value)
    {

        $this->_session[$key] = $value;
    }


    public function get($key)
    {

        return $this->_session[$key];
    }
}

?>

 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.