Фейк адрес генератор

От автора: на ранних этапах создания приложения, всегда возникает острая необходимость в тестовых данных, то есть в данных, которые будут отображаться на экран при проверке работоспособности отдельных участков кода. Также при работе с базой данных и формированию SQL запросов, таблицы желательно наполнить контентом, ведь в противном случае просто невозможно оптимизировать и проверить правильность работы последних. При этом ручное создание тестовых данных порой очень время затратное и это время бывает соизмеримо со временем, требуемым на написание функционала.

В данном уроке я хотел бы представить Вашему вниманию, замечательную библиотеку Faker, написанную на языке PHP, которая представляет собой генератор случайных данных, причем сгенерировать можно данные практически любого формата.

Официальную страничку библиотеки, вместе с краткой, но довольно информативной документацией, можно найти на сервисе GitHub по . Для установки библиотеки на Ваш проект, достаточно выполнить одну простую команду в консоли, используя инструмент Composer:

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

1 composer require fzaninotto/faker

При этом в директории проекта, будет создан каталог vendor, внутри которого Вы найдете рассматриваемую нами библиотеку. При этом хотел бы отметить, что по адресу vendor\fzaninotto\faker\src\Faker Вы найдете файл Generator.php, в котором определен одноименный класс Generator, свойства которого как раз предоставляют доступ к сгенерированным данным. Собственно в комментариях перед определением класса – приведен краткий справочник по хранимым данным в каждом свойстве (это на тот случай, если у Вас не будет доступа к страничке библиотеки на сервисе GitHub).

Теперь приступаем к работе с самой библиотекой. Собственно первым делом подключаем файл autoload.php, который был сгенерирован инструментом composer:

1 2 <?php require «vendor/autoload.php»;

Далее создаем объект класса Faker, используя метод create(). При этом в качестве первого аргумента можно передать код, интересующей Вас локализации (в комплекте библиотеки, поставляется множество различных локализаций).

1 $faker = Faker\Factory::create();

Собственно все приготовления завершены, и можно приступать к генерации данных. При этом для создания тестовой информации, достаточно обратиться к соответствующему свойству или методу объекта $faker, в зависимости от того, какие данные Вас интересуют.

Для начала, предположим, что Вам нужно сформировать имя пользователя и его адрес. Для этого достаточно вывести на экран значения двух свойств:

1 2 echo $faker->name.'<br>’; echo $faker->address.'<br>’;

Соответственно результат будет следующим:

К свойствам можно обращаться многократно, к примеру, в цикле, что приведет к созданию множества тестовых данных. К примеру, давайте сгенерируем случайные числа:

1 2 3 for($i = 0; $i < 10; ++$i) { echo $faker->randomNumber.'<br>’; }

При этом на экране мы увидим следующее:

При добавлении модификатора unique(), Вы сможете создать уникальные не повторяющиеся данные.

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

1 2 3 for($i = 0; $i < 10; ++$i) { echo $faker->unique()->randomNumber.'<br>’; }

Есть также модификатор позволяющий, разрешить пропуск генерации данных, его имя optional():

1 2 3 for($i = 0; $i < 10; ++$i) { echo $faker-> optional()->randomNumber.'<br>’; }

Помимо этого создаваемые данные можно провалидировать, в соответствии с логикой, описанной в пользовательской функции. К примеру сгенерируем числа, которые больше 5:

1 2 3 4 5 6 $func = function($digit) { return $digit > 5; }; for($i = 0; $i < 10; ++$i) { echo $faker->valid($func)->randomDigit.'<br>’; }

На экране мы увидим следующее:

Помимо простых значений, можно генерировать более сложные, которые будут возвращаться в виде массива. К примеру, давайте сгенерируем информацию о кредитных картах, для платежных систем.

1 2 3 4 5 6 7 8 for ($i=0;$i<10;$i++) { $cc = $faker->creditCardDetails; $cc=$faker->numberBetween(199,499); } echo «<pre>»; print_r ($cc); echo »

«;

На экране мы при этом увидим следующий результат:

Также можно создать информацию для формирования данных о пользователе:

Ну и то же самое для русской локализации:

Собственно здесь я привел только малую часть доступных свойств и методов, более подробно библиотека рассмотрена в видео версии урока.

Как Вы видите инструмент достаточно полезный и буквально за несколько минут можно получить любой набор тестовых данных и передать их либо на отображение в браузер, либо на сохранение в базу данных, файл или же необходимый документ.

На этом статья завершена. Всего Вам доброго и удачного кодирования!

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Хотите изучить ООП PHP?

Посмотрите видео по объектно-ориентированному программированию на PHP (ООП PHP)!

Смотреть