make $db->prefix readonly

This commit is contained in:
Max Pozdeev 2022-02-07 18:22:59 +03:00
parent 7a5fab82ca
commit c325eea23a
4 changed files with 25 additions and 26 deletions

View file

@ -10,9 +10,8 @@
class DatabaseResult_Mysql extends DatabaseResult_Abstract
{
/** @var PDOStatement */
private $q;
private $affected;
protected $q;
protected $affected;
function __construct($dbh, $query, $resultless = 0)
{
@ -49,12 +48,9 @@ class DatabaseResult_Mysql extends DatabaseResult_Abstract
class Database_Mysql extends Database_Abstract
{
/** @var PDO */
private $dbh;
private $affected = null;
var $lastQuery;
private $dbname;
var $prefix = '';
protected $dbh;
protected $affected = null;
protected $dbname;
function __construct()
{

View file

@ -10,7 +10,7 @@
class DatabaseResult_Mysql extends DatabaseResult_Abstract
{
/** @var mysqli_result */
private $q;
protected $q;
function __construct(mysqli $dbh, $query, $resultless = 0)
{
@ -32,10 +32,8 @@ class DatabaseResult_Mysql extends DatabaseResult_Abstract
class Database_Mysql extends Database_Abstract
{
/** @var mysqli */
private $dbh;
private $dbname;
var $prefix = '';
protected $dbh;
protected $dbname;
function __construct()
{

View file

@ -9,9 +9,8 @@
class DatabaseResult_Sqlite3 extends DatabaseResult_Abstract
{
/** @var PDOStatement */
private $q;
private $affected;
protected $q;
protected $affected;
function __construct($dbh, $query, $resultless = 0)
{
@ -48,11 +47,8 @@ class DatabaseResult_Sqlite3 extends DatabaseResult_Abstract
class Database_Sqlite3 extends Database_Abstract
{
/** @var PDO */
private $dbh;
private $affected = null;
var $lastQuery;
var $prefix = '';
protected $dbh;
protected $affected = null;
function __construct()
{

View file

@ -33,8 +33,14 @@ class DBConnection
abstract class Database_Abstract
{
var $lastQuery = null;
var $prefix = ''; //TODO: make private
protected static $readonlyProps = ['prefix', 'lastQuery'];
/** @var string */
protected $prefix = '';
/** @var string */
protected $lastQuery = '';
abstract function connect($params);
abstract function sq($query, $p = NULL);
abstract function sqa($query, $p = NULL);
@ -47,8 +53,11 @@ abstract class Database_Abstract
abstract function tableExists($table);
abstract function tableFieldExists($table, $field): bool;
function prefix(): string {
return $this->prefix;
function __get(string $propName) {
if ( in_array($propName, self::$readonlyProps) ) {
return $this->{$propName};
}
throw new Error("Attempt to read undefined property ". get_class($this). "::\$$propName");
}
function setPrefix(string $prefix) {