/** * Получение информации о полях в таблице * * @return array */ private function getTableInfo() { // Спрашиваем пользователя echo PHP_EOL . 'Информацию по какой таблице ты хочешь посмотреть (введи название таблицы): '; $answer = trim(fgets(STDIN)); // Обнуляем счетчик сгенерированных записей $this->newRecordsGenerated = 0; // Выставляем в анализаторе эту таблицу $this->tableAnalyzer->setTable($answer); // Получаем основную информацию return ['name' => $answer, 'columns' => $this->tableAnalyzer->getColumns(), 'relations' => $this->tableAnalyzer->getRelations(), 'rows' => $this->tableAnalyzer->getRowsCount()]; }
/** * Формирование списка генераторов данных для каждого столбца */ private function generateColumnsGenerators() { // Для каждого столбца, в зависимости от его типа, получаем генератор данных // Если не можем получить генератор, значит он не нужен или мы еще не умеем // генерить данные такого типа $columns = $this->analyzer->getColumns(); foreach ($columns as $column) { // Получаем генератор $generator = new ColumnDataGenerator($column, $this->analyzer); // Пробуем сгенерить первый раз данные, если удалось - запоминаем его if ($generator->generate() !== false) { $this->columnsGenerators[$column['name']] = $generator; } } }