РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
963 of 1392 menu

Функция fake

Функция fake предоставляет доступ к экземпляру генератора фейковых данных Faker. Она используется для создания реалистичных тестовых данных в сидерах, фабриках и тестах. Функция возвращает объект класса FakerGenerator, который предоставляет множество методов для генерации различных типов данных: имен, адресов, текстов, чисел, дат и других. В качестве необязательного параметра можно передать локализацию.

Синтаксис

<?php fake($locale = null); ?>

Пример

Сгенерируем имя, фамилию и адрес электронной почты:

<?php $firstName = fake()->firstName(); $lastName = fake()->lastName(); $email = fake()->email(); echo $firstName; echo $lastName; echo $email; ?>

Результат выполнения кода:

"John" "Doe" "john.doe@example.com"

Пример

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

<?php namespace DatabaseFactories; use AppModelsUser; use IlluminateDatabaseEloquentFactoriesFactory; class UserFactory extends Factory { protected $model = User::class; public function definition() { return [ 'name' => fake()->name(), 'email' => fake()->unique()->safeEmail(), 'password' => bcrypt('password'), 'created_at' => fake()->dateTimeBetween('-1 year', 'now'), ]; } } ?>

После определения фабрики можно создавать пользователей:

<?php namespace DatabaseSeeders; use AppModelsUser; use IlluminateDatabaseSeeder; class DatabaseSeeder extends Seeder { public function run() { User::factory()->count(5)->create(); $user = User::factory()->create([ 'name' => 'Admin User', 'email' => 'admin@example.com', ]); echo $user->name; echo $user->email; } } ?>

Результат выполнения кода:

"Admin User" "admin@example.com"

Пример

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

<?php namespace TestsUnit; use AppModelsUser; use TestsTestCase; class UserTest extends TestCase { public function test_user_creation() { $userData = [ 'name' => fake()->name(), 'email' => fake()->unique()->email(), 'age' => fake()->numberBetween(18, 80), 'bio' => fake()->paragraph(3), 'phone' => fake()->phoneNumber(), 'address' => fake()->address(), 'is_active' => fake()->boolean(), 'birthday' => fake()->date('Y-m-d', '2000-01-01'), ]; $user = User::create($userData); $this->assertDatabaseHas('users', [ 'email' => $userData['email'], ]); echo $user->name; } } ?>

Результат выполнения кода:

"Jane Smith"

Пример

Используем локализацию для генерации данных на русском языке:

<?php $ruFaker = fake('ru_RU'); $ruName = $ruFaker->name(); $ruCity = $ruFaker->city(); $ruText = $ruFaker->sentence(5); echo $ruName; echo $ruCity; echo $ruText; ?>

Результат выполнения кода:

"Анна Иванова" "Москва" "Consectetur adipisicing elit sed do eiusmod tempor"

Пример

Создадим массив с фейковыми данными для постов блога:

<?php $posts = []; for ($i = 0; $i < 3; $i++) { $posts[] = [ 'title' => fake()->sentence(4), 'content' => fake()->paragraphs(2, true), 'author' => fake()->name(), 'views' => fake()->numberBetween(100, 1000), 'published_at' => fake()->dateTimeBetween('-1 month', 'now'), ]; } foreach ($posts as $post) { echo $post['title']; } ?>

Результат выполнения кода:

"Lorem ipsum dolor sit amet" "Consectetur adipiscing elit" "Sed do eiusmod tempor incididunt"

Смотрите также

  • функция dd,
    которая дампит переменную и останавливает выполнение
  • функция dump,
    которая выводит информацию о переменной
  • функция collect,
    которая создает коллекцию из массива
  • функция str,
    которая предоставляет доступ к методам работы со строками
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить