0

我在 PHP 中有一些问题,我把这段代码放在我的 index.php 中:

$test = $wke ->sql
             ->insert("test")
             ->values(array("foo" => "bar"))
             ->go();

这段代码运行良好,但是当我在这样的方法(debug.class.php)中使用这段代码时:

$test = sql::insert("test")
             ->values(array("foo" => "bar"))
             ->go();

它不起作用:

Fatal error: Call to undefined method template::values() [...]

我的“插入”(和“值”)方法在我的 SQL 类中,而不是我的模板类中。我知道我的第二个例子是在我的模板类中调用的,但最后我调用的是 sql::insert,而不是 self::insert 或 template::insert。这就是我迷路的原因。

对不起我的英语不好 !先感谢您。

PS:这是我的 sql::insert 方法

static $queryBuffer;
public function insert($in) {
   self::$queryBuffer->type = "insert";
   self::$queryBuffer->data->insert = $in;
   return $this;
}
4

1 回答 1

-1

如下更改插入功能。

static $queryBuffer;
public static function insert($in) {
   self::$queryBuffer->type = "insert";
   self::$queryBuffer->data->insert = $in;
   return $this;
}

插入应该是静态的,以使用没有对象的类名调用。

于 2012-10-24T04:37:37.937 回答