Здравствуйте.
Недавно начал изучать ООП. В связи с чем возникла проблема. Не получается получить данные из пространства имени.
Получаю ошибку:
Fatal error: Using $this when not in object context
Вызываю из другого файла:
require_once 'classes/Auth.php';
require_once 'classes/functions.php';
echo Func\User::isAdmin('1');
namespace Func;
class User
{
private $db_host = "localhost";
private $db_name = "test";
private $db_user = "root";
private $db_pass = "root";
public function connect($db_name, $db_user, $db_pass, $db_host = "localhost"){
try {
$db = new \pdo("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
} catch (\pdoexception $e) {
echo "database error: " . $e->getmessage();
die();
}
$this->db->query('set names utf8');
return $this;
}
public function __construct($username = null, $password = null)
{
$this->username = $username;
$this->connectDb($this->db_name, $this->db_user, $this->db_pass, $this->db_host);
}
public function __destruct()
{
$this->db = null;
}
public function isAdmin($id) {
/* проверка на админа */
$query = "select id, username, status from users where id = :id limit 1";
$stm = $this->db->prepare($query);
$stm->execute(array(
':id' => $id
)
);
$row = $stm->fetch(PDO::FETCH_ASSOC);
if($row) {
echo $row;
} else {
print_r($db->errorInfo());
}
return $result;
}
}