Как вызвать фейкерный класс через вспомогательную функцию как свойство, а не как массив - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь создать вспомогательную функцию для пакета faker, чтобы можно было легко создавать поддельные данные.

В настоящее время у меня есть функция, которая работает как функция массива. например. faker('sentence')

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

например. faker()->sentence

В настоящее время у меня есть

use Faker\Factory;

if (!function_exists('faker')) {
    /**
     * Get faker data
     *
     * @return Faker\Factory;;
     */

    function faker($property)
    {
        $faker = Factory::create();
        return $property ? $faker->{$property} : $faker;
    }


}

1 Ответ

0 голосов
/ 28 октября 2019

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

faker('name')

faker()->name
use Faker\Factory;

if (!function_exists('faker')) {
    /**
     * Get faker data
     *
     * @return Faker\Factory;;
     */

    function faker($property)
    {
        $faker = Factory::create();
        return $property ? $faker->{$property} : $faker;
    }


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...