Как создать базу данных с помощью библиотеки PHP Faker
Вы разработали приложение. Вы создали базу данных для своего сайта. Теперь, чтобы протестировать ваше приложение, вам нужны фальшивые данные. Очевидно, возникает вопрос, есть ли в Интернете какой-либо инструмент для создания поддельных данных, который может заполнять таблицы в базе данных?
Faker – это библиотека PHP, которая генерирует поддельные данные для вашего приложения.
Ввод данных в базу данных вручную – трудоемкий процесс. Как разработчик, мы не должны делать этот процесс вручную. Мы разработчик и очень прогрессивный, поэтому мы всегда должны отдавать предпочтение автоматизированным инструментам для выполнения наших задач.
Используя библиотеку Faker, мы можем вставить тонны фиктивных данных в нашу базу данных за несколько секунд. Все, что нам нужно сделать, это сгенерировать фиктивные данные, такие как поддельный адрес электронной почты, поддельное имя и т.д., С помощью Faker Formatters.
Сказав это, давайте посмотрим пошаговое руководство по использованию библиотеки Faker.
Монтаж
Рекомендуемый способ установки библиотеки Faker – через Composer. Если вы не установили Composer на свой компьютер, вы можете скачать его отсюда.
Откройте терминал в корневом каталоге вашего проекта и выполните следующую команду:
composer require fzaninotto/faker
Затем нам нужно сгенерировать фиктивные данные для нашей таблицы базы данных. Допустим, у нас есть таблица под названием «пользователи», содержащая такие столбцы, как полное имя, адрес электронной почты, пароль, created_at. И нам нужно вставить фальшивые данные в таблицу «пользователи».
Код для базы данных семян
Поскольку нам нужно вставить поддельные данные в нашу базу данных, нам нужно сначала подключить нашу базу данных.
В этой статье мы предполагаем, что вы используете ядро PHP, поэтому мы пишем код для подключения к базе данных и запросов соответственно. Если вы используете какой-либо Framework или CMS, ваш код будет немного отличаться, но логика будет такой же.
Создайте файл seed.php в корневом каталоге вашего проекта и поместите в него приведенный ниже код.
<?php
require_once "vendor/autoload.php";
$conn = mysqli_connect("localhost", "root", "", "my_database");
$faker = FakerFactory::create();
for ($i=0; $i < 100; $i++) {
$sql = "INSERT INTO users (fullname, email, password, created_at) VALUES ('". $faker->name. "', '". $faker->email. "', '". md5($faker->password). "', '". date('Y-m-d H:i:s', strtotime($faker->iso8601)). "' )";
mysqli_query($conn, $sql);
}
?>
Приведенный выше код вставит 100 поддельных записей в таблицу пользователей базы данных my_database.
В нашем коде мы использовали поставщиков Faker, таких как имя, адрес электронной почты, пароль и iso8601. Есть ряд других провайдеров, которые мы можем использовать в библиотеке Faker.
Как работают провайдеры Faker?
На странице github библиотеки Faker в разделе «Средства форматирования» вы увидите список поставщиков.
Возьмем пример FakerProviderLorem
провайдера. У этого провайдера есть некоторые средства форматирования, такие как слово, абзацы и т.д., Как показано на скриншоте ниже.
В качестве примера мы возьмем один сценарий, в котором нам нужно сгенерировать фиктивное предложение. Итак, используя фейкер, мы делаем это следующим образом.
<?php
$faker = FakerFactory::create();
echo $faker->sentence;
?>
Это дает нам предложение, состоящее из 6 слов. Это потому, что предложение метода имеет первый параметр со значением по умолчанию 6. Если нам нужно предложение с 20 словами, наш код будет следующим.
<?php
$faker = FakerFactory::create();
echo $faker->sentence(20);
?>
Приведенный выше код даст предложение из 20 слов.
Так работают форматеры в библиотеке Faker. Вы можете использовать другие средства форматирования в соответствии с вашими требованиями или в соответствии со структурами ваших таблиц.
Мы надеемся, что вы понимаете, как заполнить базу данных с помощью библиотеки Faker в PHP. Мы хотели бы услышать ваши мысли в разделе комментариев ниже.
Статьи по Теме
- Социальный вход в PHP с использованием библиотеки HybridAuth
- Kickbox – библиотека для проверки электронной почты в реальном времени для PHP
- Отправка электронной почты с помощью SMTP-сервера Gmail из сценария PHP