public function getTable()
{
if ($this->table instanceof Table) {
return $this->table;
}
if ($this->tableClass) {
$tableClass = $this->tableClass;
} else {
// try to guess table class
$rowClass = get_class($this);
/**
* @var string $tableClass is child of \Bluz\Db\Table
*/
$tableClass = substr($rowClass, 0, strrpos($rowClass, '\\', 1) + 1) . 'Table';
}
// check class initialization
if (!class_exists($tableClass) || !is_subclass_of($tableClass, '\\Bluz\\Db\\Table')) {
throw new TableNotFoundException("`Table` class is not exists or not initialized");
}
/**
* @var Table $tableClass
*/
$table = $tableClass::getInstance();
$this->setTable($table);
return $table;
}