protected function insert() { /*Записываем в переменную $cols масcив состоящий из ключей свойства-массива объекта - $data Данный массив сформировался благодаря методу геттер */ $cols = array_keys($this->data); $data = []; /*в цикле формируем массив элементами вида :keys=>values*/ foreach ($cols as $col) { $data[':' . $col] = $this->data[$col]; } $sql = 'INSERT INTO ' . static::$table . ' (' . implode(', ', $cols) . ') VALUES (' . implode(', ', array_keys($data)) . ') '; $db = new DB(); $db->execute($sql, $data); $this->id = $db->lastInsertId(); }