php – 如何在Laravel中实现自己的Faker提供程序

前端之家收集整理的这篇文章主要介绍了php – 如何在Laravel中实现自己的Faker提供程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在Laravel中为Faker创建一个自定义提供程序(例如,一个用于随机构建名称).

我在哪里将自定义提供程序存储在我的应用程序中以及如何使用它?

您应该使用PHP artisan生成自定义提供程序…

在命令行上,导航到应用程序的根目录并键入…

PHP artisan make:provider FakerServiceProvider

这应该在app / Providers文件夹中生成一个新的提供者.这是我的注册函数看起来像faker文档中的示例.

/**
 * Register the application services.
 *
 * @return void
 */
public function register()
{
    $this->app->singleton('Faker',function($app) {
        $faker = \Faker\Factory::create();
        $newClass = new class($faker) extends \Faker\Provider\Base {
            public function title($nbWords = 5)
            {
                $sentence = $this->generator->sentence($nbWords);
                return substr($sentence,strlen($sentence) - 1);
            }
        };

        $faker->addProvider($newClass);
        return $faker;
    });
}

我在这里使用匿名课程.如果你有PHP< 7,您可能需要使用新的提供程序类创建一个新文件并将其传入.确保您还将此新提供程序添加到app / config.PHP中的providers数组中. 现在它已经注册,您可以使用以下内容获取新的faker类…

$faker = app('Faker');
echo $faker->title;

此外,如果您在https://laravel.com/docs/5.2/facades处查看文档,您还应该能够轻松地制作Faker外观.完成所有繁重的工作后,您只需创建新的Facade类,让getFacadeAccessor返回’Faker’,并将其添加到app / config.PHP中的facades数组中.

然后你可以简单地使用它……

echo Faker::title;

猜你在找的Laravel相关文章