Session in een MVC

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Andreas Warnaar

Andreas Warnaar

06/04/2009 15:23:00
Quote Anchor link
Ik zit te denken aan een klassen die mijn $_SESSION beheerd maar ik blijf hier en daar hangen.. Voor al dat je niet niet met Magic methods de $_SESSION kan aan passen..
Notice: Trying to get property of non-object in /var/www/users/andreas_warnaar/TestBin/WplSession_page2.php on line 8

Iemand die iets meer weet..?
Edit:
Werkt

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
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
<?php
class Session
{
    static $_instance;
    
    private function __construct(){
        if(!isset($_SESSION['sessionregister'])) {
            $_SESSION['sessionregister']=array();
        }
    }

    
    public function getInstance()
    {

        if( ! (self::$_instance instanceof self) ) {
            self::$_instance = new self;
        }

return self::$_instance;
    }

    

    private function __clone(){}
    
     /**
      * Magic method FUN
      *
      * @param $index
      * @param $value
      * @return void
      */

    public function __set($index, $value)
    {

        $_SESSION['sessionregister'][$index] = $value;
    }

    /**
     * Magic method FUN
     * @param $index
     * @return array|var|false
     */

    public function __get($index)
    {

        if(isset($_SESSION['sessionregister'][$index]) ) {
            return $_SESSION['sessionregister'][$index];
        }
else{
            return false;
        }
    }

    public function __isset($index)
    {

        return isset($_SESSION['sessionregister'][$index]);
    }

    public function __unset($index)
    {

        unset($_SESSION['sessionregister'][$index]);
    }

    
    /**
     * Internal get method
     *
     * @param $index
     * @return array|var
     */

     protected function get($index)
    {

        return $_SESSION['sessionregister'][$index];
    }

    /**
     * Internal set method
     *
     * @param $index
     * @param $value
     * @return void
     */

    protected function add($index, $value)
    {

        $_SESSION['sessionregister'][$index] = $value;
    }
    
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Andreas Warnaar
 
PHP hulp

PHP hulp

24/11/2024 13:18:50
 
Jelmer -

Jelmer -

06/04/2009 15:29:00
Quote Anchor link
Weet je zeker dat het probleem in de code hierboven zit? Volgens mij probeer je een "lege" variabele te behandelen als een object.

En dat is niet heel vreemd, als je verwacht dat getInstance() een object teruggeeft, maar dat hier niet doet omdat je 'return self::$_instance' bent vergeten ;)

edit: in __get vergeet je trouwens ook een 'return' voor 'false'.
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
Andreas Warnaar

Andreas Warnaar

06/04/2009 19:07:00
Quote Anchor link
Jelmer jij bent er ook altijd voor mij. ;)

Ik was helemaal blind gestaard op dit stuk code..

THX
 



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.