class ErrorReporting {
protected $tableName;
protected static $_instance;
protected $DB;
public function __construct()
{
$this->DB = DB::getInstance();
$this->tableName = 'error_reporting';
}
public static function getInstance() {
// проверяем актуальность экземпляра
if (null === self::$_instance) {
// создаем новый экземпляр
self::$_instance = new self();
}
// возвращаем созданный или существующий экземпляр
return self::$_instance;
}
public static function setError($where, $what)
{
$sql = '';
А ТУТ НЕДОСТУПНА $this->tableName, почему недоступна, потому что метод статический, как увидеть?
$sql = "INSERT INTO `error_reporting` (`where`, `what`, `date`, `ip`) VALUES ('".$where."',
'".$what."','".date('Y-m-d H:m:s')."','".self::GetRealIp()."'
)";
self::writeError($sql);
}
protected function writeError($sql)
{
[B] $response = $this->DB->Insert($sql);[/B]
ВОТ НА ЭТУ СТРОКУ И МАТЕРИТСЯ
"Using $this when not in object context"
/*if ($response == 1) {
return $this->DB->LastInsertId();
} else {
// ошибка при первом запросеa
$this->error = $this->DB->getError();
return false;
}*/
}
private function GetRealIp()
{
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
}
Как обратиться к другому обьекту который уже определен в переменной класса?