1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
<?php
use Illuminate\Config\Repository;
use function PHPStan\Testing\assertType;
assertType('Illuminate\Foundation\Application', app());
assertType('mixed', app('foo'));
assertType('Illuminate\Config\Repository', app(Repository::class));
assertType('Illuminate\Contracts\Auth\Factory', auth());
assertType('Illuminate\Contracts\Auth\StatefulGuard', auth('foo'));
assertType('Illuminate\Cache\CacheManager', cache());
assertType('bool', cache(['foo' => 'bar'], 42));
assertType('mixed', cache('foo', 42));
assertType('Illuminate\Config\Repository', config());
assertType('null', config(['foo' => 'bar']));
assertType('mixed', config('foo'));
assertType('Illuminate\Log\Context\Repository', context());
assertType('Illuminate\Log\Context\Repository', context(['foo' => 'bar']));
assertType('mixed', context('foo'));
assertType('Illuminate\Cookie\CookieJar', cookie());
assertType('Symfony\Component\HttpFoundation\Cookie', cookie('foo'));
assertType('Illuminate\Foundation\Bus\PendingDispatch', dispatch('foo'));
assertType('Illuminate\Foundation\Bus\PendingClosureDispatch', dispatch(fn () => 1));
assertType('Illuminate\Log\LogManager', logger());
assertType('null', logger('foo'));
assertType('Illuminate\Log\LogManager', logs());
assertType('Psr\Log\LoggerInterface', logs('foo'));
assertType('123|null', rescue(fn () => 123));
assertType('123|345', rescue(fn () => 123, 345));
assertType('123|345', rescue(fn () => 123, fn () => 345));
assertType('Illuminate\Routing\Redirector', redirect());
assertType('Illuminate\Http\RedirectResponse', redirect('foo'));
assertType('mixed', resolve('foo'));
assertType('Illuminate\Config\Repository', resolve(Repository::class));
assertType('Illuminate\Http\Request', request());
assertType('mixed', request('foo'));
assertType('array<string, mixed>', request(['foo', 'bar']));
assertType('Illuminate\Contracts\Routing\ResponseFactory', response());
assertType('Illuminate\Http\Response', response('foo'));
assertType('Illuminate\Session\SessionManager', session());
assertType('mixed', session('foo'));
assertType('null', session(['foo' => 'bar']));
assertType('Illuminate\Contracts\Translation\Translator', trans());
assertType('array|string', trans('foo'));
assertType('Illuminate\Contracts\Validation\Factory', validator());
assertType('Illuminate\Contracts\Validation\Validator', validator([]));
assertType('Illuminate\Contracts\View\Factory', view());
assertType('Illuminate\Contracts\View\View', view('foo'));
assertType('Illuminate\Contracts\Routing\UrlGenerator', url());
assertType('string', url('foo'));
|