Authenticated.php 807 B

123456789101112131415161718192021222324252627282930
  1. <?php
  2. namespace Illuminate\Container\Attributes;
  3. use Attribute;
  4. use Illuminate\Contracts\Container\Container;
  5. use Illuminate\Contracts\Container\ContextualAttribute;
  6. #[Attribute(Attribute::TARGET_PARAMETER)]
  7. class Authenticated implements ContextualAttribute
  8. {
  9. /**
  10. * Create a new class instance.
  11. */
  12. public function __construct(public ?string $guard = null)
  13. {
  14. }
  15. /**
  16. * Resolve the currently authenticated user.
  17. *
  18. * @param self $attribute
  19. * @param \Illuminate\Contracts\Container\Container $container
  20. * @return \Illuminate\Contracts\Auth\Authenticatable|null
  21. */
  22. public static function resolve(self $attribute, Container $container)
  23. {
  24. return call_user_func($container->make('auth')->userResolver(), $attribute->guard);
  25. }
  26. }