Frage

Brauchen Sie Hilfe über mit Memcache.

Ich habe eine Klasse erstellt und wollen ihre Objekte in Memcache speichern, Probleme bei der Suche mir bitte dabei sagen, wo ich falsch gehe. Im Anschluss an meinem 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'));

?>

Das Problem ist, ich nicht in der Lage bin sicher zu machen, wenn das Objekt tatsächlich Laden in Memache Coz bekommen, wenn ich versuche, es zurückzuholen mit dem objMemcache- $> get ($ key), die var_dump Funktion druckt nichts.

Bitte helfen.


Können Sie bitte den Fehler in meinem Code erklären.

Danke soulmerge, Frank und Kevin, die Lösung gearbeitet, nur ein weiterer Zweifel.

Vornehmen der Klassenvariablen privat hat gut funktioniert, aber wenn ich versuche, das Klasse-Objekt in ein JSON_STRING mit json_encode zu konvertieren () gibt es mir wieder einen leeren Wert, irgendwelche Vorschläge auf, dass

War es hilfreich?

Lösung

Ihre Klasse ist falsch, versuchen Sie dies:

<?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'));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top