if(!isset($this->pdo)) {
daj poprostu
if(!$this->pdo) {
if(!$this->stmt instanceof \PDOStatement) {
Nigdzie z zewnatrz nie ustawiasz stmt wiec albo t bedzie PDOStatement albo nic. Daj poprostu
if(!$this->stmt) {
No i jesli nie ma stmt to powinien leciec wyjatek a nie pusta tablica. Skoro ktos robi fetchAll a wczesniej nie zrobil execute to jest to blad
Gdy juz zamienisz to wyjatki to takie kody jak ten
if(!$this->stmt instanceof \PDOStatement) {
return false;
}
maja byc w oddzielnej funkcji i tylko wywolujesz te funkcje ktora rzuci wyjatkiem. nie ma sensu wszedzie duplikowac takich kodow
ta funkcja
public function isConnected() {
$this->clearError();
if(!$this->pdo instanceof \PDO) {
$this->setError('08003', 'SQLSTATE[08003] Connection does not exist');
return false;
}
return true;
}
powinna wygladac poprostu tak
public function isConnected() {
$this->clearError();
return $this->pdo ? true: false;
}
Nie ma tam najmniejszego sensu ustawiac errora bo to nie zaden error