Question

Vous avez besoin d'aide sur Memcache avec.

J'ai créé une classe et que vous voulez stocker ses objets dans Memcache, trouver mal à le faire s'il vous plaît me dire où je vais mal. Voici mon code

// Class defined by me
    class User
    {
    public $fname;
    public $age;        
        /**
         * @return unknown
         */
        public function getfname() {
            return $this->fname;
        }

        /**
         * @return unknown
         */
        public function getage() {
            return $this->age;
        }

/**
         * @return unknown
         */
        public function setfname() {
            return $this->fname;
        }

        /**
         * @return unknown
         */
        public function setage() {
            return $this->age;
        }
    }

//Code for Storing
<?php
$objMemcache = new Memcache();
        $objMemcache->connect('127.0.0.1', 11211);


$obj = new User();
$obj->setfname('John');
$obj->setage(32);

$objMemcache->set('user1', $obj, false, 60);


$obj1 = new User();
$obj1->setfname('Doe');
$obj1->setage(23);

$objMemcache->set('user2', $obj1, false, 60);

var_dump($objMemcache->get('user1'));

?>

Le problème est que je ne suis pas en mesure de vous assurer que si l'objet est réellement obtenir magasin dans Memache coz lorsque je tente de le récupérer en utilisant la objMemcache- $> get ($ key), rien imprime de la fonction var_dump.

S'il vous plaît aider.


Pouvez-vous s'il vous plaît expliquer l'erreur dans mon code.

Merci soulmerge, Frank et Kevin, la solution a fonctionné, juste un autre doute.

Rendre les variables de classe privée a bien fonctionné, mais lorsque je tente de convertir l'objet de classe en un JSON_STRING en utilisant json_encode () il me donne encore une valeur vide, des suggestions sur ce

Était-ce utile?

La solution

Votre classe ne va pas, essayez ceci:

<?php

// use this to display errors
ini_set('error_reporting',E_ALL);
ini_set('display_errors',true);

// Class defined by me
class User
{
    private $fname;
    private $age;        
    /**
     * @return string
     */
    public function getfname() {
            return $this->fname;
    }

    /**
     * @return string
     */
    public function getage() {
            return $this->age;
    }

    /**
     * @return void
     */
    public function setfname($value) {
            $this->fname = $value;
    }

    /**
     * @return void
     */
    public function setage($value) {
            $this->age = $value;
    }
}

$objMemcache = new Memcache();
$objMemcache->connect('127.0.0.1', 11211);

$obj = new User();
$obj->setfname('John');
$obj->setage(32);
$objMemcache->set('user1', $obj, false, 60);

$obj1 = new User();
$obj1->setfname('Doe');
$obj1->setage(23);
$objMemcache->set('user2', $obj1, false, 60);

var_dump($objMemcache->get('user1'));
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top