laravel的运行方式
- 网页的运行方式
入口文件在项目目录/public/index.php
//定义常量
define('LARAVEL_START', microtime(true));
//使用composer的自动加载
require __DIR__.'/../vendor/autoload.php';
//引导程序
$app = require_once __DIR__.'/../bootstrap/app.php';
//注册http内核
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
//接受请求返回响应
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
//发送响应
$response->send();
//启动terminate中间件
$kernel->terminate($request, $response);
- 命令行的模式
入口文件项目目录/artisan
//定义常量
define('LARAVEL_START', microtime(true));
//使用composer的自动加载
require __DIR__.'/../vendor/autoload.php';
//引导程序
$app = require_once __DIR__.'/../bootstrap/app.php';
//注册console内核
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
//处理输入输出返回状态
$status = $kernel->handle(
$input = new Symfony\Component\Console\Input\ArgvInput,
new Symfony\Component\Console\Output\ConsoleOutput
);
//terminate中间件
$kernel->terminate($input, $status);
exit($status);
两种方式的流程的都是一样的
- 定义常量
- 自动加载
- 引导程序(创建app程序和注册容器)
- 输入和结果
- terminate中间件
网友评论