yii2 faker что это

Использование Faker для генерации данных для автоматического тестирования

Russian (Pусский) translation by Sergey Zhuk (you can also view the original English article)

Faker можно использовать как в простом PHP-приложении, так и в фреймворке, таком как Yii или Laravel, или в тестовом фреймворке, как например Codeception, который мы ранее уже расстраивали в уроке Envato Tuts +

В сегодняшнем уроке я рассмотрю базовую установку и использование Faker и его возможностей. Как говорит Занинотто:

«Нужно ли вам загружать вашу базу данных, создавать красивые XML-документы, заполнять ваши персистентные данные для стресс-теста или анонимизировать данные, взятые из производственной службы, Faker для вас».

И, в целом, он предоставляет широкий спектр простых возможностей, полезных для любого режима тестирования.

Немного напоминаем, прежде чем мы приступим к работе, я участвую в обсуждениях, приведенных ниже. Мне особенно интересно, если у вас есть дополнительные мысли или вы хотите предложить темы для будущих уроков. Если у вас есть вопрос или предложение, отправьте сообщение ниже. Вы также можете связаться со мной прямо на Twitter @reifman.

Приступая к работе

Установка Faker

Я начал с создания нового дерева кода и добавил fzaninotto/faker к composer.json:

Затем я обновил composer:

Faker устанавливается в каталог vendor. Итак, я загрузил в начало файла index.php:

Далее я хотел бы попробовать несколько простых примеров сценариев генерации данных.

Простые примеры

Я привел примеры Faker и выполнил их из http://localhost:8888/faker:

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

Faker выполняет свои обещания.

Поставщики Faker по умолчанию

Вы также можете написать собственных поставщиков или просмотреть ряд расширений для Faker, доступных в Интернете.

Модификаторы

Faker также предлагает специальные модификаторы для помощи в тестировании, такие как unique(), optional() или valid(). Например, вы можете генерировать уникальные номера:

Вот вывод уникальных значений:

С valid() вы можете зарегистрировать функции, которые определяют, соответствуют ли данные наполнителя конкретным требованиям или возвращают ошибку или генерируют сообщение об ошибке в форме пользователя.

Изучение поставщиков

Faker предлагает широкий набор методов для генерации случайных данных для вашего приложения:

Давайте поэкспериментируем с несколькими из этих методов.

Платежная информация

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

Вот несколько выводов из приведенного выше кода:

yii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что этоyii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что это yii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что это

Картинки

yii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что этоyii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что это yii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что это

Вот простой пример создания изображения:

вы также можете создавать кошек:

yii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что этоyii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что это yii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что это

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

Интернационализированные данные

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

yii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что этоyii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что это yii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что это

Создание поддельных адресов электронной почты

Вот пример кода для генерации 25 поддельных адресов электронной почты от бесплатных провайдеров, таких как Gmail и Yahoo:

yii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что этоyii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что это yii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что это

Создание XML-документов

Faker предлагает полезный пример генерации XML; Однако для этого требуется, чтобы вы работали с инфраструктурой и имели архитектуру представления:

В заключение

Если вы хотите еще что-нибудь почитать, то я рекомендую Jim Nielsen’s Filler Content: Tools, Tips и Dynamic Example (Envato Tuts +), который предоставляет разработчику приложения возможность создавать данные. Он предполагает, что вы можете быть более эффективными, когда применяете поддельные данные, чтобы создать более реалистичный опыт в процессе разработки.

Если вы хотите знать, когда выйдет мой следующий учебник Envato Tuts +, следуйте за мной @reifman в Twitter или проверьте мою страницу инструктора. В настоящее время я работаю над двумя сериями, которые вы можете оценить:

Источник

Фикстуры

Ключевым понятием в фреймворке фикстур Yii является так называемый объект фикстуры. Объект фикстуры представляет собой особый аспект тестового окружения, который наследуется от yii\test\Fixture или его наследников. Например, вы можете использовать UserFixture для того, чтобы быть уверенным, что таблица пользователей содержит известный набор данных. Вы загружаете один или несколько объектов фикстур перед запуском теста и выгружаете их после его завершения.

Фикстура может зависеть от других фикстур, заданных через свойство yii\test\Fixture::depends. Когда фикстура загружается, фикстуры, от которых она зависит, будут автоматически загружены ДО нее, а когда она выгружается все зависимые фикстуры будут выгружены ПОСЛЕ нее.

Объявление фикстуры #

Для объявления фикстуры создайте новый класс унаследованный от yii\test\Fixture или yii\test\ActiveFixture. Первый лучше всего подходит для фикстур общего назначения, в то время как последний имеет расширенные функции, специально предназначенные для работы с базой данных и ActiveRecord.

Note: yii\test\ActiveFixture используется только для реляционных баз данных. Для NoSQL-решений Yii предоставляет следующие классы ActiveFixture :

Также вам не нужно указывать данные для столбцов с автоинкрементом. Yii автоматически заполнит значения данных столбцов в момент загрузки фикстуры.

Tip: вы можете указать свой путь до файла данных через свойство yii\test\ActiveFixture::dataFile. Вы также можете переопределить метод yii\test\ActiveFixture::getData(), чтобы предоставить данные.

Как мы описали ранее, фикстура может зависеть от других фикстур. Например, для UserProfileFixture возможно потребуется зависимость от UserFixture так как таблица пользовательских профилей содержит внешний ключ, указывающий на таблицу пользователей. Зависимость указывается через свойство yii\test\Fixture::depends, как в следующем примере

Выше мы показали как объявить фикстуру для таблицы базы данных. Для объявления фикстуры, не связанной с базой данных (например, фикстуры для определенных файлов и директорий), вам следует унаследовать ее от класса yii\test\Fixture и переопределить методы load() и unload().

Использование фикстур #

Объявите какие фикстуры вы хотите использовать в методе fixtures() вашего класса модульного тестирования, унаследованного от yii\codeception\DbTestCase или yii\codeception\TestCase. Например,

Для определения фикстур в методе fixtures() вы можете использовать либо имя класса, либо массив настроек. С помощью массива настроек вы можете настроить свойства фикстуры, которые будут установлены при ее загрузке.

Определение и использование глобальных фикстур #

Фикстуры, описанные выше, в основном используются в рамках определенных тест-кейсов. В большинстве случаев, вам также нужны глобальные фикстры, которые применяются во ВСЕХ или большинстве тест-кейсов. Примером является фикстура yii\test\InitDbFixture, которая делает 2 вещи:

Организация классов фикстур и файлов с данными #

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

Note: в примере выше файлы данных фикстур названы так только в качестве примера. В реальных жизни вам следует называть их в соответствии с тем от какого класса наследуется ваш класс фикстуры. Например, при наследовании от yii\test\ActiveFixture для фикстур БД вам следует использовать имя таблицы в качестве имени файла данных; при наследовании от yii\mongodb\ActiveFixture для фикстур MongoDB вам следует использовать имя коллекции в качестве имени файла.

Резюме #

Note: Этот раздел находится в разработке.

Выше мы описали как объявлять и использовать фикстуры. Ниже приведен типовой сценарий выполнения модульных тестов, связанных с БД:

Будет доработано

Управление фикстурами

Note: Данный раздел находится в разработке.

todo: данный раздел может быть объединен с предыдущими частями test-fixtures.md

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

Формат фикстуры #

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

Загрузка фикстур #

Чтобы загрузить фикстуру, выполните следующую команду:

Обязательный параметр fixture_name указываем на имя фикстуры, которая должна быть загружена. Вы можете загрузить несколько фикстур за раз. Ниже указаны примеры корректного использования данной команды:

Выгрузка фикстур #

Для выгрузки фикстур выполните следующую команду:

Глобальная настройка команды #

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

Автоматическая генерация фикстур #

Для получения дополнительной информации ознакомьтесь с руководством.

Источник

Yii2 faker что это

Faker – генератор фальшивых данных

Fzaninotto/faker-это библиотека PHP, которая генерирует поддельные данные многих видов: имена, телефоны, адреса, случайные строки и числа и так далее. Это может помочь Вам создать много рандомизированных записей для тестирования производительности и логики. Вы можете расширить свою коллекцию поддерживаемых типов, написав собственные модули форматирования и генераторы. В скелетах приложения Yii2 оболочка yiisoft / yii2-faker включена в раздел require-dev файла composer.json, который используется для тестирования кода (Глава 11, тестирование). Эта оболочка предоставляет консоль FixtureController для использования в консольном приложении и тестовой среде.

1 Откройте каталог tests/codeception/templates и добавьте файл шаблона fixture, users.txt:

2 В консоли yii выполните команду test:

3 Подтвердите создания миграции.

4 Убедитесь, что каталог tests/codeception/fixtures содержит новый users.php, с созданными автоматически данными:

Работа с собственными типами данных

1 Создайте собственного поставщика с логикой создания настраиваемых значений:

2 Добавить поставщика в список поставщиков услуг в интернет /tests/codeception/config/config.php:

3 Добавьте поле статус в файл шаблона fixture:

4 Регенерация fixtures с помощью команды консоли:

5 Проверьте, что сгенерированный код в fixtures/users.php файл содержит ваши пользовательские значения:

Расширение yii2-faker содержит консольный генератор (который использует ваши шаблоны для создания файлов данных fixture) и дает вам подготовленный экземпляр исходного объекта Faker. Можно создать все или определенные fixture и передать пользовательские счетчики или язык в аргументах консоли.

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

Источник

Class yii\faker\FixtureController

Inheritanceyii\faker\FixtureController » yii\console\controllers\FixtureController
Available since version2.0.0

This command creates fixtures based on a given template.

Fixtures are one of the important paths in unit testing. To speed up developers work these fixtures can be generated automatically, based on prepared template. This command is a simple wrapper for the Faker library.

You should configure your application as follows (you can use any alias, not only «fixture»):

To start using the command you need to be familiar (read guide) with the Faker library and generate fixtures template files, according to the given format:

If you use callback as an attribute value it will be called with the following three parameters:

After you prepared needed templates for tables you can simply generate your fixtures via command

You can specify how many fixtures per file you need by the second parameter. In the code below we generate all fixtures and in each file there will be 3 rows (fixtures).

You can specify different options of this command:

You can see all available templates by running command:

You also can create your own data providers for custom tables fields, see Faker library guide for more info (https://github.com/fzaninotto/Faker); After you created custom provider, for example:

Public Properties

PropertyTypeDescriptionDefined By
$countintegerTotal count of data per fixture.yii\faker\FixtureController
$fixtureDataPathstringAlias to the fixture data path, where data files should be written.yii\faker\FixtureController
$generator\Faker\GeneratorThis property is read-only.yii\faker\FixtureController
$languagestringLanguage to use when generating fixtures data.yii\faker\FixtureController
$providersarrayAdditional data providers that can be created by user and will be added to the Faker generator.yii\faker\FixtureController
$templatePathstringAlias to the template path, where all tables templates are stored.yii\faker\FixtureController

Public Methods

MethodDescriptionDefined By
actionGenerate()Generates fixtures and fill them with Faker data.yii\faker\FixtureController
actionGenerateAll()Generates all fixtures template path that can be found.yii\faker\FixtureController
actionTemplates()Lists all available fixtures template files.yii\faker\FixtureController
addProviders()Adds users providers to the faker generator.yii\faker\FixtureController
beforeAction()yii\faker\FixtureController
checkPaths()Check if the template path and migrations path exists and writable.yii\faker\FixtureController
confirmGeneration()Prompts user with message if he confirm generation with given fixture templates files.yii\faker\FixtureController
exportFixtures()Returns exported to the string representation of given fixtures array.yii\faker\FixtureController
generateFixture()Generates fixture from given templateyii\faker\FixtureController
generateFixtureFile()Generates fixture file by the given fixture template file.yii\faker\FixtureController
getGenerator()Returns Faker generator instance. Getter for private property.yii\faker\FixtureController
options()yii\faker\FixtureController

Protected Methods

MethodDescriptionDefined By
findTemplatesFiles()Returns array containing fixtures templates file names. You can specify what files to find by the given parameter.yii\faker\FixtureController
notifyNoTemplatesFound()Notifies user that there was not found any files matching given input conditions.yii\faker\FixtureController
notifyNotFoundTemplates()Notifies user that given fixtures template files were not found.yii\faker\FixtureController
notifyTemplatesCanBeGenerated()Notifies user about templates which could be generated.yii\faker\FixtureController
notifyTemplatesGenerated()Notifies user that given fixtures template files were generated.yii\faker\FixtureController

Property Details

Total count of data per fixture. Defaults to 2.

Alias to the fixture data path, where data files should be written.

This property is read-only.

Language to use when generating fixtures data.

Additional data providers that can be created by user and will be added to the Faker generator. More info in Faker library docs.

Alias to the template path, where all tables templates are stored.

Method Details

Generates fixtures and fill them with Faker data.

public void actionGenerate ( )
throws\yii\base\InvalidParamException
throws\yii\console\Exception

Generates all fixtures template path that can be found.

Lists all available fixtures template files.

Adds users providers to the faker generator.

Check if the template path and migrations path exists and writable.

Prompts user with message if he confirm generation with given fixture templates files.

Returns exported to the string representation of given fixtures array.

Exported fixtures format

Returns array containing fixtures templates file names. You can specify what files to find by the given parameter.

Template file names to search. If empty then all files will be searched.

Generates fixture from given template

The fixture template file

The current fixture index

Generates fixture file by the given fixture template file.

Template file name

Path where templates are stored

Fixture data path where generated file should be written

Returns Faker generator instance. Getter for private property.

Notifies user that there was not found any files matching given input conditions.

Notifies user that given fixtures template files were not found.

Notifies user about templates which could be generated.

Notifies user that given fixtures template files were generated.

Источник

Генерируем классы фикстур в Yii2

При входе в чужой проект (или при доработке своего старого) часто сталкиваемся с отсутствием хоть каких-то автоматических тестов. А без них весьма неприятно ковыряться в исходниках, так как есть постоянный страх что-то сломать. Поэтому первым делом приходится внедрять автотесты. Посмотрим, чем Gii может нам помочь.

Если в проекте уже используются миграции для изменения структуры базы, то можно спокойно подключить FixtureHelper (как мы это делали ранее при подготовке своих тестов). Этот модуль позволяет использовать фикстуры в виде PHP-массивов не только в интеграционных, но и в функциональных (по мнению Codeception) и приёмочных тестах вместо использования просто SQL-дампа.

Для каждой таблицы в базе нужно создать отдельный класс фикстуры:

и приложить файл с данными data/user.php :

Это хороший повод разобраться во внутренностях генераторов и посмотреть, чем в этом плане может быть полезен Gii.

Исследуем генераторы Gii

Расширение yii2-gii по умолчанию включено в конфигурацию стандартных приложений, поэтому устанавливать его отдельно не требуется.

В директории vendor/yiisoft/yii2-gii проекта нас интересует только поддиректория generators :

Рассмотрим, что из себя представляет генератор контроллеров:

Именно эти данные выводятся на главной странице Gii:

yii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что это

И, соответственно, содержит в себе поля и методы модели rules() и attributeLabels() и ещё кучу либо важных вещей, либо вспомогательной непонятной инфраструктуры.

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

От такого класса всё у нас и наследуется. Например, тот самый генератор контроллера успешно добавляет свои поля и переопределяет методы для построения формы:

Ещё в той же папке:

На основе этих полей и правил их валидации Gii и формирует полноценный интерфейс:

yii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что это

Мы видим, что поле Base Class выведено с жёлтым фоном. Это из-за того, что в коде это поле добавлено в список так называемых «липких» атрибутов:

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

Продолжим наше исследование. В подпапке default помещены шаблоны для получаемых файлов. Прямо там рендерится класс сгенерированного контроллера в default/controller.php :

и аналогично формируется представление в default/view.php :

Прямо так вместо HTML-разметки «печатаем» исходный код.

Путь до этой папки формируется в последнем поле Code Template выводимой формы. Для задания папки шаблонов имеются отдельные поля в базовом классе:

которые наследуются во все генераторы. Поэтому можно к любому генератору добавить свою папку с шаблонами под именем Super Controller и, при желании, сделать свой шаблон главным:

И он будет выводиться рядом со стандартным:

yii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что это

Это полезно, например, если вы сделали специфический контроллер или вёрстку представлений для своих CRUD и хотите подменить стандартный шаблон.

Или можно полностью переопределить стандартный шаблон default на свой:

чтобы не было возможности воспользоваться ненужным стандартным.

Пойдём далее. Когда форма успешно отправлена и провалидирована, в действие вступает самый главный метод genarate() :

Ему уже нужно отрендерить шаблоны и вернуть результат в виде массива объектов класса CodeFile :

А сам Gii потом займётся их сохранением. Или, если такие файлы уже есть, спросит, нужно ли их перезаписать.

Подготовка структуры расширения

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

Сделаем заготовку расширения по аналогии с нашим yii2-hybrid-authmanager и с пустыми файлам в папке src :

Файл phpunit.xml.dist оставим стандартным:

И изменим немного composer.json :

В tests/bootstrap.php впишем инициализацию окружения:

Она пригодится для тестовых нужд.

В базовом классе для тестов tests/TestCase.php будем запускать тестовое приложение:

Теперь начнём, собственно, делать генератор.

Написание своего генератора

Первым делом, добавим название и описание для выводя на стартовой странице и в меню Gii:

Теперь определимся, какие поля в форме нам нужны.

Нам будет необходимо на основе существующей ActiveRecord-модели вроде app\models\User сгенерировать класс фикстуры и её набор данных.

Соответственно, можно добавить наши поля и просить пользователя вводить пути в них:

Тогда человеку нужно будет заполнить три поля значениями:

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

И даже вообще сделать эти поля необязательными для заполнения, а пространства имён и пути снабдить значениями по умолчанию и сделать их «липкими» атрибутами, чтобы они запоминались:

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

В файле form.php соберём форму с нашими полями:

либо заполнять значениями из базы данных при true :

Такие массивы можно сформировать примерно так:

Теперь можно сформировать шаблоны для сгенерированных файлов.

В default/class.php у нас будет производиться создание класса:

А в default/data.php – создание файла тестовых данных:

И, для красоты, переопределим сообщение об успешной генерации:

И попробуем открыть Gii и что-нибудь сгенерировать:

yii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что это

Ещё остался один небольшой момент. Имя класса UserFixture и имя файла user.php можно либо вбить вручную, либо оставить пустым для автоматической генерации. Но можно дополнить интерфейс по примеру генератора ActiveRecord-моделей, когда после введения имени таблицы имя модели и ActiveQuery-класса заполнялись автоматически.

Добавим в структуру свой JavaScript-файл и класс GeneratorAsset :

В скрипте assets/generator.js сделаем автоподстановку имени класса и имени файла в соответствующие поля:

И в GeneratorAsset сконфигурируем комплект ресурсов:

Его мы будем подключать на странице формы:

Компонент практически готов. Осталось удостовериться в правильности его работы.

Написание тестов

Первоначальную подготовку тестового окружения мы уже произвели при создании структуры директорий расширения.

Нам потребуется протестировать генератор на некой ActiveRecord-модели и попробовать с помощью него спарсить данные из базы. Соответственно, нам потребуется модель и тестовая база данных для неё. Также нам нужны будут папки для указания их в качестве путей для результирующего класса и для файла данных фикстуры.

В модель добавим минимальное содержимое:

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

Ещё можно добавить проверку на правильность получения имён сгенерированных файлов:

И, что самое важное, добавить тесты на проверку самих получившихся файлов.

Чтобы не возиться с большими текстовыми фрагментами, добавим папку expected и создадим в ней проверочные образцы, с которыми будем сравнивать результаты генерации в тестах:

В tests/expected/class.php будет содержаться образцовый код класса фикстуры:

В tests/expected/data-empty.php будет пример файла с пустыми данными:

И в tests/expected/data-full.php будут вшиты существующие данные из базы:

И теперь для тестов в папке самого расширения в консоли устанавливаем Gii, фреймворк и PHPUnit:

После установки всего в vendor запускаем наши тесты:

И видим, что все шесть тестов прошли успешно:

Теперь коммитим все недокоммиченное, пишем инструкцию по использованию в README.md и публикуем на Packagist как и раньше.

После публикации переходим в любой свой проект, загружаем это расширение:

И используем у себя:

yii2 faker что это. Смотреть фото yii2 faker что это. Смотреть картинку yii2 faker что это. Картинка про yii2 faker что это. Фото yii2 faker что это

Если модуль Gii подключен и в консольной конфигурации, то можно использовать эти же возможности в консоли:

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

P.S. А ещё мы собираемся в этот четверг (9 июня) на вебинар по кешированию. Не забудьте записаться, если Вы ещё не с нами.

Не пропускайте новые статьи, бонусы и мастер-классы:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *