入口文件 public/index.php
1、加载composer的自动加载器
require __DIR__.'/../vendor/autoload.php';
自动加载,不用再各种require了,更重要的是可以使用composer管理包,管理依赖,可以参考下composer的使用。
2、bootstrap/app.php 得到laravel应用程序实例
$app = require_once __DIR__.'/../bootstrap/app.php';
bootstrap/app.php文件很简单,实例化并注册一些服务
//创建app实例,一切都是由此容器而起,包括服务提供者等等
$app = new Illuminate\Foundation\Application(
realpath(__DIR__.'/../')
);
//注册HTTP内核,web端的请求处理,查看下app\http\Kernal父类
$app->singleton(
Illuminate\Contracts\Http\Kernel::class,
App\Http\Kernel::class
);
//注册控制台内核,cli的请求处理
$app->singleton(
Illuminate\Contracts\Console\Kernel::class,
App\Console\Kernel::class
);
//错误处理
$app->singleton(
Illuminate\Contracts\Debug\ExceptionHandler::class,
App\Exceptions\Handler::class
);