为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 工厂如何定义 $factory 变量?

Laravel 工厂如何定义 $factory 变量?

PHP
翻翻过去那场雪 2023-04-28 17:36:25
Laravel 中的一个新工厂看起来像这样;<?php/* @var $factory \Illuminate\Database\Eloquent\Factory */use App\Model;use Faker\Generator as Faker;$factory->define(Model::class, function (Faker $faker) {    return [        //    ];});变量$factory未在此文件中定义。这个变量是如何定义的,在哪里定义的?对象dd($factory)中的预期结果\Illuminate\Database\Eloquent\Factory
查看完整描述

1 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

该变量$factory未在文件本身中定义。只有当这个文件被 Laravel 处理时,通过在加载过程中包含它,$factory 才会引用 Factory 对象。

这是加载工厂文件的地方:\Illuminate\Database\Eloquent\Factory::load

请注意工厂文件开头的文档块,它可以帮助您的 IDE 自动完成:

/** @var \Illuminate\Database\Eloquent\Factory $factory */

现在你可能想知道Factory::load()第一次被调用的地方。当工厂第一次被 DI 容器实例化时,它会被调用,例如,一旦您使用了factory()助手。


查看完整回答
反对 回复 2023-04-28
  • 1 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信