Level 56
No need to guide, create a new class, like UserManager. Put the logic to retrieve your user within it. Then inject the UserManager by type hinting it in controller / methods where you need it.
class UserManager {
public function getUser() {
// Your logic to fetch an user
return $user;
}
}
class FooController extends Controller {
private $user;
public function __construct(UserManager $user_manager)
{
$this->user = $user_manager->getUser();
}
}
class FooFormRequest extends Request {
public function rules(UserManager $user_manager)
{
$user = $user_manager->getUser();
}
}