比如,有个user对象,包括name属性,setName(),getName()方法,pass属性,等等,能储存整个这个对象吗,能储存的话,post一个name过来,我怎么取出这个对象,通过getName()方法匹配是哪个对象  

解决方案 »

  1.   


    必须要将这个对象存储在SESSION中或者序列化为字符串,然后在接收端进行反序列化,再进行取值即可:
    发送端:
    //假设user对象是一个class类型
    $obj = serialize(user);//从而得到序列化后的字符串
    //将$obj以name=$obj的形式进行post接收端:
    $result=unserialize($_POST['name']);
    echo $result->getName();
      

  2.   

    又写了一个测试代码,你试一下:
    <?php
    class user
    {
        private $name='skyaspnet';
        
        function getName()
        {
            echo $this->name;
        }
    }
    $obj=new user();
    $seStr= serialize($obj);
    echo $seStr.'<br />';
    echo unserialize($seStr)->getName();
    ?>
    //输出结果
    O:4:"user":1:{s:10:"username";s:9:"skyaspnet";}
    skyaspnet
      

  3.   

    不好意思,我可能没讲清楚,我的意思是储存到mysql,
      

  4.   

    因为我这样想,比如我存一个user,user有一个属性hand,hand也是一个自己写的对象,他有其他的属性,比如长度,宽度什么的,如果我想按其中的某一个属性的中的属性检索,sql语句,该怎么写,怎么调另外,劳烦大家前面的回复,怪我没表达清楚,
      

  5.   

    你这个是牵涉到数据库设计方面的问题。比如你现在有个user表,你可以再建立一个hand表。然后通过user表中的id来与hand表关联,从而取出一个用户对应的手的大小。sql语句就是做一个联结。