├── autoload_static.php │ └── installed.json ├── doctrine │ └── inflector ├── illuminate
"illuminate/config":"^6.4", "illuminate/console":"^6.4" }, "repositories":{ "...php use Illuminate\Container\Container; use Illuminate\Support\Facades\Schema; use Illuminate\Database...php use Illuminate\Config\Repository; use Illuminate\Console\OutputStyle; use Illuminate\Container\Container...Illuminate\Database\Schema\Builder; use Illuminate\Events\Dispatcher; use Illuminate\Filesystem\Filesystem...php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate
The Laravel Components | github Laravel 中有不少优质组件,那如何在 Laravel 之外使用 illuminate 组件呢?...illuminate/validation 以 illuminate/validation 为例,validation 有丰富的数据验证功能。..."illuminate/validation": "^5.8", ... 从 Laravel-Lang/lang 项目中复制需要的语言文件放到自己的项目中。
\Illuminate\Foundation\Application是extends from the \Illuminate\Container\Container,看instance()源码:...['Illuminate\Container\Container'] = (new \Illuminate\Foundation\Application($path = __DIR__)); 可以PHPUnit...=> ['Illuminate\Cache\CacheManager', 'Illuminate\Contracts\Cache\Factory'], 'cache.store'...'cookie' => ['Illuminate\Cookie\CookieJar', 'Illuminate\Contracts\Cookie\Factory', 'Illuminate...'queue' => ['Illuminate\Queue\QueueManager', 'Illuminate\Contracts\Queue\Factory', 'Illuminate
Bus Illuminate\Contracts\Bus\Dispatcher Cache Illuminate\Cache\Repository cache Config Illuminate\Config...DB Illuminate\Database\DatabaseManager db DB (Instance) Illuminate\Database\Connection Event Illuminate...Log Illuminate\Log\Writer log Mail Illuminate\Mail\Mailer mailer Notification Illuminate\Notifications...Illuminate\Queue\Queue Redirect Illuminate\Routing\Redirector redirect Redis Illuminate\Redis\Database...Route Illuminate\Routing\Router router Schema Illuminate\Database\Schema\Blueprint Session Illuminate
先关注Illuminate\Foundation\Application类的定义Illuminate\Foundation\Application继承了Illuminate\Container\Container...Illuminate\Container\Container的实例注册Illuminate\Foundation\Mix单例到容器注册Illuminate\Foundation\PackageManifest...()中得知Illuminate\Contracts\Queue\Factory接口绑定的具体实现是Illuminate\Queue\QueueManager2)Illuminate\Log\LogServiceProvider...注册log组件Illuminate\Log\LogManager3)Illuminate\Routing\RoutingServiceProvider这里就不一一截图代码出来了,简述一下各个方法的内容$...(toResponse)等$this->registerUrlGenerator() 注册 url 单例组件 Illuminate\Routing\UrlGenerator可以视作 Illuminate
::class, // \Illuminate\Session\Middleware\AuthenticateSession::class, \Illuminate...\LoadConfiguration::class, \Illuminate\Foundation\Bootstrap\HandleExceptions::class, \Illuminate...* * @param \Illuminate\Contracts\Foundation\Application $app * @param \Illuminate\...* * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response...', 'Illuminate\Foundation\Bootstrap\ConfigureLogging', 'Illuminate\Foundation
我们经常用的Route就是一个Facade, 它是 \Illuminate\Support\Facades\Route类的别名,这个Facade类代理的是注册到服务容器里的 router服务,所以通过Route...注册Facades 说到Facades注册又要回到再介绍其它核心组建时提到过很多次的Bootstrap阶段了,在让请求通过中间件和路由之前有一个启动应用程序的过程: //Class: \Illuminate...', 'Illuminate\Foundation\Bootstrap\ConfigureLogging', 'Illuminate\...', 'Illuminate\Foundation\Bootstrap\RegisterProviders', 'Illuminate...> Illuminate\Support\Facades\Auth::class, ......
啃源码 我花了 5 分钟跟完源代码,发现它在 Illuminate\Http\Response 中有这么一段来完成 JSON 转化的: vendor/laravel/framework/src/Illuminate...继续探索 突然想到,我们的接口都是返回的是 Api Resource 模式,也就是说最后返回的都是 Illuminate\Http\Resources\Json\JsonResource 实例或者集合,...答案是可以: 在 Illuminate\Http\Resources\Json\JsonResource 中有一个 toResponse 方法: vendor/laravel/framework/src.../Illuminate/Http/Resources/Json/JsonResource.php public function toResponse($request){ return (new...php namespace App\Listeners; use ArrayObject; use Illuminate\Contracts\Support\Arrayable; use Illuminate
illuminate/events v5.6.1|don't install laravel/framework v5.5.43 - don't install illuminate/events...illuminate/events v5.6.15|don't install laravel/framework v5.5.43 - don't install illuminate/events...illuminate/events v5.6.21|don't install laravel/framework v5.5.43 - don't install illuminate/events...illuminate/events v5.6.27|don't install laravel/framework v5.5.43 - don't install illuminate/events...illuminate/events v5.7.4|don't install laravel/framework v5.5.43 - don't install illuminate/events
php namespace Illuminate\Cache; use Illuminate\Contracts\Support\DeferrableProvider; use Illuminate...各种Facades类 Facade Class 服务容器绑定 App Illuminate\Foundation\Application app Artisan Illuminate\Contracts...\Console\Kernel artisan Auth Illuminate\Auth\AuthManager auth Auth (Instance) Illuminate\Contracts...Illuminate\Cache\Repository cache.store Config Illuminate\Config\Repository config Cookie Illuminate\...File Illuminate\Filesystem\Filesystem files Gate Illuminate\Contracts\Auth\Access\Gate Hash Illuminate
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); // 加载核心类 $response = $kernel->handle(...\Database\DatabaseManager::class] – auth [\Illuminate\Auth\AuthManager::class, \Illuminate\Contracts...queue [\Illuminate\Queue\QueueManager::class, \Illuminate\Contracts\Queue\Factory::class, \Illuminate...\Contracts\Queue\Monitor::class] – redis [\Illuminate\Redis\RedisManager::class, \Illuminate\Contracts...$app = new Illuminate\Foundation\Application( realpath(__DIR__.
门面直接调用 Illuminate\Database\DatabaseManager 类。...'encrypter' => [\Illuminate\Encryption\Encrypter::class, \Illuminate\Contracts\Encryption\...], 'db.connection' => [\Illuminate\Database\Connection::class, \Illuminate\Database..., \Illuminate\Contracts\Events\Dispatcher::class], 'files' => [\Illuminate...$parameters); } 转发,调用的是 Illuminate\Database\Connection ,用户处理 table()方法,随后会通过 table() 方法指向 Illuminate\
php namespace App\Providers; use Illuminate\Support\Facades\Route; use Illuminate\Foundation\Support...php namespace Illuminate\Foundation\Support\Providers; use Illuminate\Routing\Router; use Illuminate...; use Illuminate\Routing\Pipeline; use Illuminate\Support\Facades\Facade; use Illuminate\Contracts\Debug...* * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response|\Illuminate...php namespace Illuminate\Routing; use Illuminate\Container\Container; use Illuminate\Routing\Contracts
定义作业在 Laravel 中,定义作业是通过实现 Illuminate\Contracts\Queue\Job 接口来完成的。这个接口定义了一个 fire 方法,用于处理作业的逻辑。...下面是一个示例::// app/Jobs/ProcessPodcast.phpnamespace App\Jobs;use Illuminate\Bus\Queueable;use Illuminate...\Contracts\Queue\ShouldQueue;use Illuminate\Foundation\Bus\Dispatchable;use Illuminate\Queue\InteractsWithQueue...;use Illuminate\Queue\SerializesModels;class ProcessPodcast implements ShouldQueue{ use Dispatchable...;use Illuminate\Queue\Events\JobProcessed;use Illuminate\Queue\Events\JobProcessing;use Illuminate\Support
\DetectEnvironment', 'Illuminate\Foundation\Bootstrap\LoadConfiguration', 'Illuminate...', 'Illuminate\Foundation\Bootstrap\RegisterFacades', 'Illuminate\Foundation\..., 'Illuminate\Foundation\Bootstrap\ConfigureLogging', 'Illuminate\Foundation\Bootstrap...'Auth' => Illuminate\Support\Facades\Auth::class, 'Blade' => Illuminate\Support\Facades\Blade...\Event::class, 'File' => Illuminate\Support\Facades\File::class, 'Gate' => Illuminate
所以要了解 Larvel 服务容器必然需要研究 Illuminate\Foundation\Application 的构造函数: /** * Create a new Illuminate...php namespace Illuminate\Events; use Illuminate\Support\ServiceProvider; use Illuminate\Contracts\Queue...=> [\Illuminate\Contracts\Auth\Guard::class], 'blade.compiler' => [\Illuminate\View...'cookie' => [\Illuminate\Cookie\CookieJar::class, \Illuminate\Contracts\Cookie\Factory:...=> [\Illuminate\Queue\QueueManager::class, \Illuminate\Contracts\Queue\Factory::class, \Illuminate\Contracts
php namespace Illuminate\Foundation\Console; use Illuminate\Console\Command; use Illuminate\Support...php namespace Illuminate\Foundation; use Closure; use Illuminate\Container\Container; use Illuminate...; use Illuminate\Events\EventServiceProvider; use Illuminate\Filesystem\Filesystem; use Illuminate\Foundation...\Request; use Illuminate\Log\LogServiceProvider; use Illuminate\Routing\RoutingServiceProvider; use Illuminate...\Support\Arr; use Illuminate\Support\Collection; use Illuminate\Support\Env; use Illuminate\Support\ServiceProvider
::class, Illuminate\Bus\BusServiceProvider::class, Illuminate\Cache\CacheServiceProvider...::class, Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, Illuminate...::class, Illuminate\Foundation\Providers\FoundationServiceProvider::class, Illuminate...::class, Illuminate\Filesystem\FilesystemServiceProvider::class, Illuminate\Foundation...::class, Illuminate\Pagination\PaginationServiceProvider::class, Illuminate\Pipeline\
领取专属 10元无门槛券
手把手带您无忧上云