PHP从类本身获取函数的结果?

时间:2013-06-25 08:07:47

标签: php

我想知道如何从“类本身”中接收函数的结果。一个例子是PDO函数,我可以在其中执行以下操作来获取最后一个ID:

$db->query($sql);
$id = $db->lastInsertId();

现在我必须做以下事情:

$newThread = $forums->newThread('title','category');
$id = $newThread['id'];

当然这很好用,但我必须使用变量$ newThread,我不想这样做。如何保存该值以便以后调用它?

2 个答案:

答案 0 :(得分:0)

如果您在理解PDO版本的工作原理时遇到问题,则大致如下:

class PDO {

    private $lastInsertId;

    public function query($sql) {
        magic_sql_api_call($sql);
        /* here be dragons */

        $this->lastInsertId = magic_sql_api_get_last_insert_id();
    }

    public function lastInsertId() {
        return $this->lastInsertId;
    }

}

答案 1 :(得分:0)

您可以创建这样的代码

class Forums {
    private $id;
    ...

    function createTread($title, $category) {
       $newThread = $forums->newThread($title, $category);
       $this->id = $newThread['id'];
    }
    function lastId() {
        return $this->id;
    }
}

你可以使用它

$forums->createTread('title','category');
$id = $forums->lastId();

您可能还需要在属性中保存$ newThread。