是否可以在Laravel中使用Model Factories和包装服务?

时间:2016-04-03 07:21:07

标签: php laravel laravel-5.2

Laravel 5.2中提供的Model Factory功能提供了一些非常方便的方法,尤其是在测试期间。

例如:

factory(User::class)->create();

是否有可能利用某些现有功能为可能创建这些雄辩实例的任何包装器服务获取类似内容?

例如,我有一个UserService类,在触摸模型之前进行业务逻辑检查。不属于模型的功能,也不属于控制器。

例如:

// Controller
//
Route('/bla/', function(UserService $userService) {
    $user = $userService->create(request()->all());

    return view('blabla.view');
});

// User Service
// 
function create($input) 
{
    // .. do some business logic stuff here .. 
    // .. then some more over here
    // .. finally if some condition is met, then create a user
    $user = User::create($filteredInput);

    return $user;
}

// User Model 
// Bog standard user model 

现在我不想将faker库引入用户服务本身。理想情况下,我想通过服务传入已定义的模型工厂,然后将服务传递给模型。

0 个答案:

没有答案