<?
class Flip
{
private $db;
public function __construct()
{
$this->db = new Database();
}
public function flips()
{
$flips = array();
$result = $this->db->Select()->Get('flips');
if($result)
{
foreach ($result as $value)
{
$flips[] = $value;
}
return $flips;
}
return false;
}
public function flipComment($id)
{
return $this->db->Select()->Where('id', $id)->Get('comments');
}
}
致命错误:在不在对象上下文中时使用
$this
。
任何想法如何解决?我不想为每个函数调用类Database。我需要能够使用$this->db
答案 0 :(得分:1)
您无法使用$this
,因为这些功能不属于某个类。
Class MyClass {
private $db;
public function __construct()
{
$this->db = new Database();
}
public function comment()
{
$this->__construct();
return $this->db->Select()->Get('comments');
}
}
答案 1 :(得分:0)
使你的变量变为静态,在构造函数中你可以看到它是否已经设置好了。然后,您只需打开一次连接,每次拨打Flip
时,都可以使用该连接。
class Flip
{
private static $db;
function __construct()
{
if (!isset(self::$db))
self::$db = new Database();
}
function comment()
{
return self::$db->Select()->Get('comments');
}
}
的更多信息