protected function __construct($db_table) { $this->db = (new Db())->setTable($db_table); //сохраняем имена всех столбцов таблицы в бд $fields = []; $columns = $this->db->getAll('SHOW COLUMNS FROM #', null, MYSQLI_ASSOC); foreach ($columns as $column) { $fields[] = $column['Field']; } parent::__construct($fields); }
protected function __construct($path, $class_name) { if (!is_readable($path) || !is_writable($path)) { throw new SystemException($path . ' не найден или недоступен для чтения или записи'); } require_once $path; if (!class_exists($class_name)) { throw new SystemException('Класс ' . $class_name . ' не найден в ' . $path); } $this->path = $path; $this->className = $class_name; //получаем все константы в классе $fields = array_keys((new ReflectionClass($class_name))->getConstants()); if (!$fields) { throw new SystemException('В классе ' . $class_name . ' нет ни одной константы'); } parent::__construct($fields); }