<?php namespace Illuminate\Container\Attributes; use Attribute; use Illuminate\Contracts\Container\Container; use Illuminate\Contracts\Container\ContextualAttribute; #[Attribute(Attribute::TARGET_PARAMETER)] class Storage implements ContextualAttribute { /** * Create a new class instance. */ public function __construct(public ?string $disk = null) { } /** * Resolve the storage disk. * * @param self $attribute * @param \Illuminate\Contracts\Container\Container $container * @return \Illuminate\Contracts\Filesystem\Filesystem */ public static function resolve(self $attribute, Container $container) { return $container->make('filesystem')->disk($attribute->disk); } }