문제

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

?>

문제는 $ objmemcache-> get ($ key)를 사용하여 그것을 검색하려고 할 때 객체가 실제로 Memache Coz에 매장을 가져 오는지 확인할 수 없다는 것입니다. Var_dump 함수는 아무것도 인쇄하지 않습니다.

도와주세요.


내 코드의 오류를 설명해 주시겠습니까?

Soulmerge, Frank 및 Kevin에게 감사합니다. 솔루션은 또 다른 의심만으로 효과가있었습니다.

클래스 변수를 비공개로 만들기 만하면 json_encode ()를 사용하여 클래스 객체를 json_string으로 변환하려고 할 때 다시 빈 값을 제공합니다.

도움이 되었습니까?

해결책

수업이 잘못되었습니다. 시도해보십시오.

<?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