2009-05-12 7 views
1

Memcache에 대한 도움이 필요합니다.PHP 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을 ($ 키)를 사용하여 검색하려고 할 때 개체가 실제로 Memache 사촌에서 저장소를 얻는 경우 확인 할 수없는 생각되면, var_dump 함수는 아무것도 인쇄하지 않습니다.

도와주세요.


내 코드에서 오류를 설명해 주실 수 있습니까?

솔직히 말해서 Frank와 Kevin이 해결책을 찾았습니다.

는 클래스 변수는 개인 잘 작동하지만 난 다시 빈 값, 클래스 잘못입니다

+0

$에 세 번째 매개 변수 objMemcache-> (귀하의 경우 0) 정수 – soulmerge

+1

내가 파일에 코드를 떨어 중간에

답변

1

에 어떤 제안을 나에게 준다)를 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'));