diff --git a/src/Illuminate/Cache/CacheManager.php b/src/Illuminate/Cache/CacheManager.php index 0a0c2de5e171..2e4d0489fbd9 100755 --- a/src/Illuminate/Cache/CacheManager.php +++ b/src/Illuminate/Cache/CacheManager.php @@ -114,7 +114,7 @@ public function resolve($name) /** * Build a cache repository with the given configuration. * - * @param array $config + * @param array{driver: string, name?: string} $config * @return \Illuminate\Cache\Repository */ public function build(array $config) @@ -137,7 +137,7 @@ public function build(array $config) /** * Call a custom driver creator. * - * @param array $config + * @param array{driver: string} $config * @return mixed */ protected function callCustomCreator(array $config) @@ -161,7 +161,7 @@ protected function createApcDriver(array $config) /** * Create an instance of the array cache driver. * - * @param array $config + * @param array{serialize?: bool} $config * @return \Illuminate\Cache\Repository */ protected function createArrayDriver(array $config) @@ -172,7 +172,7 @@ protected function createArrayDriver(array $config) /** * Create an instance of the file cache driver. * - * @param array $config + * @param array{path: string, lock_path: string, permission?: int} $config * @return \Illuminate\Cache\Repository */ protected function createFileDriver(array $config) @@ -187,7 +187,7 @@ protected function createFileDriver(array $config) /** * Create an instance of the Memcached cache driver. * - * @param array $config + * @param array{servers: array{host: string, port: int, weight?: int}[], persistent_id?: string|null, options?: array, sasl?: array{string, string}} $config * @return \Illuminate\Cache\Repository */ protected function createMemcachedDriver(array $config) @@ -217,7 +217,7 @@ protected function createNullDriver() /** * Create an instance of the Redis cache driver. * - * @param array $config + * @param array{connection?: sttring, lock_connection?: string} $config * @return \Illuminate\Cache\Repository */ protected function createRedisDriver(array $config) @@ -237,7 +237,7 @@ protected function createRedisDriver(array $config) /** * Create an instance of the database cache driver. * - * @param array $config + * @param array{table: string, connection?: string, lock_table?: string, lock_lottery?: array{int, int}, lock_timeout?: int, lock_connection?: string} $config * @return \Illuminate\Cache\Repository */ protected function createDatabaseDriver(array $config) @@ -264,7 +264,7 @@ protected function createDatabaseDriver(array $config) /** * Create an instance of the DynamoDB cache driver. * - * @param array $config + * @param array{table: string, attributes?: array{key?: string, value?: string, expiration?: string}} $config * @return \Illuminate\Cache\Repository */ protected function createDynamodbDriver(array $config) @@ -287,6 +287,7 @@ protected function createDynamodbDriver(array $config) /** * Create new DynamoDb Client instance. * + * @param array{region: string, endpoint?: string, key?: string, secret?: string, token?: string} $config * @return \Aws\DynamoDb\DynamoDbClient */ protected function newDynamodbClient(array $config) @@ -314,7 +315,7 @@ protected function newDynamodbClient(array $config) * Create a new cache repository with the given implementation. * * @param \Illuminate\Contracts\Cache\Store $store - * @param array $config + * @param array{store?: string, events: bool} $config * @return \Illuminate\Cache\Repository */ public function repository(Store $store, array $config = []) @@ -356,7 +357,7 @@ public function refreshEventDispatcher() /** * Get the cache prefix. * - * @param array $config + * @param array{prefix?: string} $config * @return string */ protected function getPrefix(array $config) @@ -403,7 +404,7 @@ public function setDefaultDriver($name) /** * Unset the given driver instances. * - * @param array|string|null $name + * @param string[]|string|null $name * @return $this */ public function forgetDriver($name = null) diff --git a/src/Illuminate/Cache/DatabaseLock.php b/src/Illuminate/Cache/DatabaseLock.php index d490f8c05048..ed9318c9421a 100644 --- a/src/Illuminate/Cache/DatabaseLock.php +++ b/src/Illuminate/Cache/DatabaseLock.php @@ -24,7 +24,7 @@ class DatabaseLock extends Lock /** * The prune probability odds. * - * @var array + * @var array{int, int} */ protected $lottery; @@ -43,7 +43,7 @@ class DatabaseLock extends Lock * @param string $name * @param int $seconds * @param string|null $owner - * @param array $lottery + * @param array{int, int} $lottery * @param int $defaultTimeoutInSeconds */ public function __construct(Connection $connection, $table, $name, $seconds, $owner = null, $lottery = [2, 100], $defaultTimeoutInSeconds = 86400) diff --git a/src/Illuminate/Cache/DatabaseStore.php b/src/Illuminate/Cache/DatabaseStore.php index 2d5fd6d03b92..1762f7b4ee8b 100755 --- a/src/Illuminate/Cache/DatabaseStore.php +++ b/src/Illuminate/Cache/DatabaseStore.php @@ -57,7 +57,7 @@ class DatabaseStore implements LockProvider, Store /** * An array representation of the lock lottery odds. * - * @var array + * @var array{int, int} */ protected $lockLottery; @@ -75,7 +75,7 @@ class DatabaseStore implements LockProvider, Store * @param string $table * @param string $prefix * @param string $lockTable - * @param array $lockLottery + * @param array{int, int} $lockLottery * @param int $defaultLockTimeoutInSeconds */ public function __construct( @@ -253,10 +253,13 @@ public function decrement($key, $value = 1) /** * Increment or decrement an item in the cache. * + * @template TValue of int|float + * @template TReturn of int|false + * * @param string $key - * @param int|float $value - * @param \Closure $callback - * @return int|false + * @param TValue $value + * @param (\Closure(int, TValue): TReturn) $callback + * @return TReturn */ protected function incrementOrDecrement($key, $value, Closure $callback) { @@ -377,7 +380,7 @@ public function forgetIfExpired($key) /** * Remove all items from the cache. * - * @param array $keys + * @param array $keys * @return bool */ protected function forgetMany(array $keys) @@ -393,7 +396,7 @@ protected function forgetMany(array $keys) /** * Remove all expired items from the given set from the cache. * - * @param array $keys + * @param array $keys * @param bool $prefixed * @return bool */ diff --git a/src/Illuminate/Cache/MemcachedConnector.php b/src/Illuminate/Cache/MemcachedConnector.php index 224d94099bf3..8a51a6f5d0e6 100755 --- a/src/Illuminate/Cache/MemcachedConnector.php +++ b/src/Illuminate/Cache/MemcachedConnector.php @@ -9,10 +9,10 @@ class MemcachedConnector /** * Create a new Memcached connection. * - * @param array $servers + * @param array{host: string, port: int, weight?: int}[] $servers * @param string|null $connectionId * @param array $options - * @param array $credentials + * @param array{string, string} $credentials * @return \Memcached */ public function connect(array $servers, $connectionId = null, array $options = [], array $credentials = []) @@ -39,7 +39,7 @@ public function connect(array $servers, $connectionId = null, array $options = [ * Get a new Memcached instance. * * @param string|null $connectionId - * @param array $credentials + * @param array{string, string} $credentials * @param array $options * @return \Memcached */ @@ -73,7 +73,7 @@ protected function createMemcachedInstance($connectionId) * Set the SASL credentials on the Memcached connection. * * @param \Memcached $memcached - * @param array $credentials + * @param array{string, string} $credentials * @return void */ protected function setCredentials($memcached, $credentials) diff --git a/src/Illuminate/Console/Scheduling/ManagesFrequencies.php b/src/Illuminate/Console/Scheduling/ManagesFrequencies.php index f0f6678d79db..d494ce73d8a0 100644 --- a/src/Illuminate/Console/Scheduling/ManagesFrequencies.php +++ b/src/Illuminate/Console/Scheduling/ManagesFrequencies.php @@ -51,7 +51,7 @@ public function unlessBetween($startTime, $endTime) * * @param string $startTime * @param string $endTime - * @return \Closure + * @return (\Closure(): bool) */ private function inTimeInterval($startTime, $endTime) { diff --git a/src/Illuminate/Database/Connectors/ConnectionFactory.php b/src/Illuminate/Database/Connectors/ConnectionFactory.php index 8660921633a0..4447cd9a9cf9 100755 --- a/src/Illuminate/Database/Connectors/ConnectionFactory.php +++ b/src/Illuminate/Database/Connectors/ConnectionFactory.php @@ -94,7 +94,7 @@ protected function createReadWriteConnection(array $config) * Create a new PDO instance for reading. * * @param array $config - * @return \Closure + * @return (\Closure(array): \PDO) */ protected function createReadPdo(array $config) { @@ -157,7 +157,7 @@ protected function mergeReadWriteConfig(array $config, array $merge) * Create a new Closure that resolves to a PDO instance. * * @param array $config - * @return \Closure + * @return (\Closure(array): \PDO) */ protected function createPdoResolver(array $config) { @@ -170,7 +170,7 @@ protected function createPdoResolver(array $config) * Create a new Closure that resolves to a PDO instance with a specific host or an array of hosts. * * @param array $config - * @return \Closure + * @return (\Closure(array): \PDO) * * @throws \PDOException */ @@ -216,7 +216,7 @@ protected function parseHosts(array $config) * Create a new Closure that resolves to a PDO instance where there is no configured host. * * @param array $config - * @return \Closure + * @return (\Closure(array): \PDO) */ protected function createPdoResolverWithoutHosts(array $config) { diff --git a/src/Illuminate/Database/Eloquent/Concerns/HidesAttributes.php b/src/Illuminate/Database/Eloquent/Concerns/HidesAttributes.php index c124fc60324e..ee7ab265e25b 100644 --- a/src/Illuminate/Database/Eloquent/Concerns/HidesAttributes.php +++ b/src/Illuminate/Database/Eloquent/Concerns/HidesAttributes.php @@ -86,7 +86,7 @@ public function makeVisible($attributes) /** * Make the given, typically hidden, attributes visible if the given truth test passes. * - * @param bool|\Closure $condition + * @param bool|(\Closure(\Illuminate\Database\Eloquent\Model): bool) $condition * @param array|string|null $attributes * @return $this */ @@ -113,7 +113,7 @@ public function makeHidden($attributes) /** * Make the given, typically visible, attributes hidden if the given truth test passes. * - * @param bool|\Closure $condition + * @param bool|(\Closure(\Illuminate\Database\Eloquent\Model): bool) $condition * @param array|string|null $attributes * @return $this */ diff --git a/src/Illuminate/Database/Query/JoinClause.php b/src/Illuminate/Database/Query/JoinClause.php index d5733f35504b..a31487a0bfb4 100755 --- a/src/Illuminate/Database/Query/JoinClause.php +++ b/src/Illuminate/Database/Query/JoinClause.php @@ -81,7 +81,7 @@ public function __construct(Builder $parentQuery, $type, $table) * * on `contacts`.`user_id` = `users`.`id` and `contacts`.`info_id` = `info`.`id` * - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param (\Closure(\Illuminate\Database\Query\Builder): mixed)|\Illuminate\Contracts\Database\Query\Expression|string $first * @param string|null $operator * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second * @param string $boolean @@ -101,7 +101,7 @@ public function on($first, $operator = null, $second = null, $boolean = 'and') /** * Add an "or on" clause to the join. * - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param (\Closure(\Illuminate\Database\Query\Builder): mixed)|\Illuminate\Contracts\Database\Query\Expression|string $first * @param string|null $operator * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second * @return \Illuminate\Database\Query\JoinClause diff --git a/src/Illuminate/Http/Client/PendingRequest.php b/src/Illuminate/Http/Client/PendingRequest.php index 120329743ff8..f2d03de459e7 100644 --- a/src/Illuminate/Http/Client/PendingRequest.php +++ b/src/Illuminate/Http/Client/PendingRequest.php @@ -625,7 +625,7 @@ public function retry(array|int $times, Closure|int $sleepMilliseconds = 0, ?cal /** * Replace the specified options on the request. * - * @param array $options + * @param array<'cookies'|'form_params'|'headers'|'json'|'multipart'|'query', mixed> $options * @return $this */ public function withOptions(array $options) @@ -1312,7 +1312,7 @@ public function pushHandlers($handlerStack) /** * Build the before sending handler. * - * @return \Closure + * @return (\Closure(callable): callable) */ public function buildBeforeSendingHandler() { @@ -1326,7 +1326,7 @@ public function buildBeforeSendingHandler() /** * Build the recorder handler. * - * @return \Closure + * @return (\Closure(callable): callable) */ public function buildRecorderHandler() { @@ -1349,7 +1349,7 @@ public function buildRecorderHandler() /** * Build the stub handler. * - * @return \Closure + * @return (\Closure(callable): callable) */ public function buildStubHandler() { @@ -1386,7 +1386,7 @@ public function buildStubHandler() * Get the sink stub handler callback. * * @param string $sink - * @return \Closure + * @return (\Closure(\Illuminate\Http\Client\Response): void) */ protected function sinkStubHandler($sink) { diff --git a/src/Illuminate/Pagination/AbstractCursorPaginator.php b/src/Illuminate/Pagination/AbstractCursorPaginator.php index fea9fdc22574..0deb329a5558 100644 --- a/src/Illuminate/Pagination/AbstractCursorPaginator.php +++ b/src/Illuminate/Pagination/AbstractCursorPaginator.php @@ -95,7 +95,7 @@ abstract class AbstractCursorPaginator implements Htmlable, Stringable /** * The current cursor resolver callback. * - * @var \Closure + * @var (\Closure(string): \Illuminate\Pagination\Cursor|null) */ protected static $currentCursorResolver; @@ -512,7 +512,7 @@ public static function resolveCurrentCursor($cursorName = 'cursor', $default = n /** * Set the current cursor resolver callback. * - * @param \Closure $resolver + * @param (\Closure(string): \Illuminate\Pagination\Cursor|null) $resolver * @return void */ public static function currentCursorResolver(Closure $resolver) diff --git a/src/Illuminate/Pipeline/Pipeline.php b/src/Illuminate/Pipeline/Pipeline.php index 6b99d025936a..61cad253d17c 100644 --- a/src/Illuminate/Pipeline/Pipeline.php +++ b/src/Illuminate/Pipeline/Pipeline.php @@ -229,7 +229,7 @@ protected function carry() * Parse full pipe string to get name and parameters. * * @param string $pipe - * @return array + * @return array */ protected function parsePipeString($pipe) { diff --git a/src/Illuminate/Process/PendingProcess.php b/src/Illuminate/Process/PendingProcess.php index f48899f69a5f..59569c2622d5 100644 --- a/src/Illuminate/Process/PendingProcess.php +++ b/src/Illuminate/Process/PendingProcess.php @@ -366,8 +366,8 @@ protected function fakeFor(string $command) * Resolve the given fake handler for a synchronous process. * * @param string $command - * @param \Closure $fake - * @return mixed + * @param (\Closure(\Illuminate\Process\PendingProcess): int|string|array|\Illuminate\Process\ProcessResult|\Illuminate\Process\FakeProcessResult|\Illuminate\Process\FakeProcessDescription|\Illuminate\Process\FakeProcessSequence|\Throwable) $fake + * @return \Illuminate\Process\FakeProcessResult|\Illuminate\Contracts\Process\ProcessResult|\Illuminate\Process\FakeProcessDescription|mixed */ protected function resolveSynchronousFake(string $command, Closure $fake) { @@ -396,7 +396,7 @@ protected function resolveSynchronousFake(string $command, Closure $fake) * * @param string $command * @param callable|null $output - * @param \Closure $fake + * @param (\Closure(\Illuminate\Process\PendingProcess): int|string|array|\Illuminate\Process\ProcessResult|\Illuminate\Process\FakeProcessResult|\Illuminate\Process\FakeProcessDescription|\Illuminate\Process\FakeProcessSequence|\Throwable) $fake * @return \Illuminate\Process\FakeInvokedProcess * * @throws \LogicException diff --git a/src/Illuminate/Routing/Controller.php b/src/Illuminate/Routing/Controller.php index a26a5ee7effa..4353b3d6a5a1 100644 --- a/src/Illuminate/Routing/Controller.php +++ b/src/Illuminate/Routing/Controller.php @@ -9,15 +9,15 @@ abstract class Controller /** * The middleware registered on the controller. * - * @var array + * @var array{middleware: \Closure|string, options: array{only: (string|mixed)[], except: (string|mixed)[]}}[] */ protected $middleware = []; /** * Register middleware on the controller. * - * @param \Closure|array|string $middleware - * @param array $options + * @param \Closure|array|string $middleware + * @param array{only: (string|mixed)[], except: (string|mixed)[]} $options * @return \Illuminate\Routing\ControllerMiddlewareOptions */ public function middleware($middleware, array $options = []) diff --git a/src/Illuminate/Routing/ControllerMiddlewareOptions.php b/src/Illuminate/Routing/ControllerMiddlewareOptions.php index 9fb468f22018..053bcbf3ffd5 100644 --- a/src/Illuminate/Routing/ControllerMiddlewareOptions.php +++ b/src/Illuminate/Routing/ControllerMiddlewareOptions.php @@ -7,14 +7,14 @@ class ControllerMiddlewareOptions /** * The middleware options. * - * @var array + * @var array{only: (string|mixed)[], except: (string|mixed)[]} */ protected $options; /** * Create a new middleware option instance. * - * @param array $options + * @param array{only: (string|mixed)[], except: (string|mixed)[]} $options */ public function __construct(array &$options) { diff --git a/src/Illuminate/Support/Composer.php b/src/Illuminate/Support/Composer.php index 4f9ddaa6a053..88737474cfed 100644 --- a/src/Illuminate/Support/Composer.php +++ b/src/Illuminate/Support/Composer.php @@ -57,7 +57,7 @@ public function hasPackage($package) * * @param array $packages * @param bool $dev - * @param \Closure|\Symfony\Component\Console\Output\OutputInterface|null $output + * @param (\Closure('out'|'err', string): void)|\Symfony\Component\Console\Output\OutputInterface|null $output * @param string|null $composerBinary * @return bool */ @@ -86,7 +86,7 @@ public function requirePackages(array $packages, bool $dev = false, Closure|Outp * * @param array $packages * @param bool $dev - * @param \Closure|\Symfony\Component\Console\Output\OutputInterface|null $output + * @param (\Closure('out'|'err', string): void)|\Symfony\Component\Console\Output\OutputInterface|null $output * @param string|null $composerBinary * @return bool */ @@ -164,7 +164,7 @@ public function dumpOptimized($composerBinary = null) * Get the Composer binary / command for the environment. * * @param string|null $composerBinary - * @return array + * @return array{string, string}|array{'composer'} */ public function findComposer($composerBinary = null) { diff --git a/src/Illuminate/Support/Traits/Localizable.php b/src/Illuminate/Support/Traits/Localizable.php index 1e9fa58c90bf..d9464eb756a0 100644 --- a/src/Illuminate/Support/Traits/Localizable.php +++ b/src/Illuminate/Support/Traits/Localizable.php @@ -9,9 +9,11 @@ trait Localizable /** * Run the callback with the given locale. * + * @template TReturn + * * @param string $locale - * @param \Closure $callback - * @return mixed + * @param (\Closure(): TReturn) $callback + * @return TReturn */ public function withLocale($locale, $callback) {