Pusta instancja usera

0

Witam

korzystam z frameworka Laravel 5.3 i do niego mam pytanie. Mam model, w któej jest metoda:

** public funcion test(User $user) {} **

W głównym kontrolerze odwołuje się do powyższej metody, jednak w niektórych przypadkach parametr będzie nullem i tutaj mam problem, jak wysłać parametr null ?
Otrzymuje błąd typu:

Type error: Argument 1 passed to App\X::test() must be an instance of App\User, null given ...

0
public function test(?User $user) {
    /* ... */
}

Typy nullable zostały wprowadzone w PHP 7.1, tak btw, z tego co pamiętam.

1

Ja radzę się zastanowić czy ten null powinien tam wpadać, potem przez całą "ścieżkę wykonania" będzie się za Tobą ciągnął i będziesz sprawdzał $user !== null { coś tam }. Istnieje też coś takiego jak Null Object pattern - ale nie znam kontekstu tej metody więc nie wiem czy warto. Sama nazwa metody test w User - jestem ciekaw co takiego robi :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1