在同一个类中调用一个类

时间:2014-03-14 02:55:09

标签: php class

好吧,这个问题可能有些奇怪或毫无意义,但我认为应该能够在我的脚趾情况下工作。基本上,我有一个名为Item的类。在这个类中是一个构造方法,它从我的数据库中获取项目并为该项目创建一个对象并返回该对象。但是还有另一个叫做give的函数。在这个方法中,我向用户提供一个带有项目ID的项目。但是在项目的每个表格中都有一个名为type的字段,要将其插入用户广告资源,还会有一个名为type的字段。我想知道我是否能够将课程Item调用到新变量$temp,并使用它来获取该特定项目的type字段。这是我的代码:

class Item{
    public $i;

    public function __construct($itemid){
        if($this->checkItem($itemid)){
            $getItem = mysql_query("SELECT * FROM `items` WHERE `id` = '$itemid'");
            $this->i = mysql_fetch_assoc($getItem);
        }else{
            return false;
        }
    }

    public function give($amount = 1, $itemid = null, $userid = null){
            if(!ctype_digit($amount)){
            return false;
            }
            if($amount < 0){
                return false;
            }
            if(is_null($itemid)){
                $itemid = $this->i['id'];
            }else{
            if(!$this->checkItem($itemid)){
                return false;
            }
        }
        $u = new User($userid);
        if($this->inInv($itemid, $userid)){
            mysql_query("UPDATE `inventory` SET `amount` = `amount` + {$amount} WHERE `id` = '{$this->inv['id']}'");
        }else{
            $temp = new Item($itemid);
            mysql_query("INSERT INTO `inventory` (`userid`, `itemid`, `amount`, `type`) VALUES ('{$u->u['userid']}', '{$itemid}', '$amount', '{$temp->i['type']}')");
        }
    }
}

我不使用$i的原因是因为我想要提供的项目可能与我用来调用该课程的项目不同。

0 个答案:

没有答案