سؤال

وتحتاج الى بعض المساعدة حول مع Memcache.

ولقد خلقت طبقة وتريد تخزين الأشياء في Memcache، البحث عن المتاعب القيام بذلك من فضلك قل لي أين أنا ذاهب خاطئ. التالي هو رمز بلادي

// 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'));

?>

والمشكلة هي انني لست قادرا على التأكد إذا كان الكائن هو في الواقع الحصول على متجر في Memache كوز عندما أحاول استرجاعها باستخدام $ objMemcache-> الحصول على (مفتاح $)، والمطبوعات وظيفة var_dump شيء.

يرجى مساعدة.


وأرجو أن توضح الخطأ في قانون بلدي.

وبفضل soulmerge، فرانك وكيفن، عملت الحل، مجرد شك أخرى.

وجعل المتغيرات الدرجة الخاصة سار على ما يرام ولكن عندما أحاول تحويل كائن الفئة إلى JSON_STRING باستخدام json_encode () أنه يعطي لي مرة أخرى قيمة فارغة، أي اقتراحات بشأن ذلك

هل كانت مفيدة؟

المحلول

وصفك خاطئة، حاول هذا:

<?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'));
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top