0

「クラス自体から」関数から結果を受け取る方法を知りたいです。この例は PDO 関数で、次のようにして最後の ID を取得できます。

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

今、私は次のことをしなければなりません:

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

もちろん、これはうまく機能しますが、変数 $newThread を使用する必要があり、使用したくありません。後で呼び出すために値を保存するにはどうすればよいですか?

4

2 に答える 2

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;
    }

}
于 2013-06-25T08:18:57.837 に答える
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 を保存する必要があるでしょう。

于 2013-06-25T08:21:15.983 に答える