У меня есть фасад классDependency Injection Laravel
use App\Http\Response
class RUser
{
public function signup(TokenGenerator $token_generator, $data)
{
$response = [];
$access_token = $token_generator->generate(32);
dd($access_token);
$user = User::create($data);
$response['user_id'] = $user->_id;
$response[''];
}
}
Теперь из моего UserController
Я пытаюсь использовать функцию RUser::signup()
, как показано ниже
class UserController extends Controller
{
public function store(Request $request)
{
$this->request = $request;
$payload = json_decode($this->request->getContent());
if($this->validateJson('user.create', $payload)) {
$validator = Validator::make((array) $payload, User::$rules);
if ($validator->fails()) {
$messages = $validator->errors();
return $this->sendResponse(false, $messages);
}
FUser::signup($payload);
return $this->sendResponse(true, $response);
}
}
}
Я думаю Laravel автоматически решает эту зависимость и я не shound пропустите экземпляр TokenGenerator
явно. Но я получаю следующую ошибку.
Argument 1 passed to App\Http\Responses\RUser::signup() must be an instance of App\Utils\TokenGenerator, instance of stdClass given, called in
необходимо передать объект «TokenGenerator» в качестве первого параметра функции 'signup' –
Есть ли что-то вроде привязки к Laravel IOC? –