第一帖 Laravel 源码笔记 index.php

前言

非常喜欢这个论坛,这是开通博客后的第一篇。本人接触laravel一年有余,但总感觉一团迷雾。最近心血来潮,想从头看一遍源码。打算从入口文件开始,边探索边整理,尽量简洁明了。因php基础并不好,读源码估计会遇到困难,时间也会很漫长,也会有理解错误的地方。希望论坛前辈指正错误。对于新手,文章仅供参考,错误之处多多包涵。

入口文件 index.php

第一句代码,程序运行的开始时间

define('LARAVEL_START', microtime(true));
/**
 * 程序开始时间
 * yt:返回当前 UNIX 时间戳和微秒数
 * echo microtime(); //0.80035500 1582688754
 * echo microtime(true); //1582688833.1706
 * 1秒(s) =1000 毫秒(ms) = 1,000,000 微秒(μs)
 */

第二句代码,类的自动加载 Laravel 源码笔记 Composer 自动加载

/*
|注册自动加载程序
|--------------------------------------------------------------------------
|Composer提供了一个方便的、自动生成的类装入我们的应用程序。
|我们只需要利用它!我们只需要简单的在这里require它
|这样以后我们就不用考虑手动去加载我们的任何类
|如此的轻松感觉很棒。
|vendor供应商
 */
 require __DIR__.'/../vendor/autoload.php';

第三句代码,实例化服务容器 Laravel 源码笔记 2 App 服务容器

/*
把灯打开
|-----------------------------------------------------
|我们需要照亮PHP开发,所以让我们打开灯。
|这将引导框架并准备使用它
|将加载此应用程序,以便我们可以运行它
|并发送响应回到浏览器和让我们的用户喜欢。
|bootstrap引导 app应用
|$app 实例化的应用程序
*/

$app = require_once __DIR__.'/../bootstrap/app.php';

余下代码

/*
|-----------------------------------------------------
运行应用
|-----------------------------------------------------
|一旦我们有了应用程序,我们就可以通过kernel(内核)处理传入的请求并将相关的响应发送回客户端浏览器
|让他们享受创意我们为他们准备的精彩的应用程序。
|Illuminate照亮 Contracts契约 Kernel核心 capture捕获 terminate终止 handle处理
*/

//$app->make();从容器中实例化http-Kernel契约核心类的实现类
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);

//handle()方法处理请求
$response = $kernel->handle(
    //通过内核处理 Request类捕获请求后形成的request对象
    $request = Illuminate\Http\Request::capture()
);

//返回响应
$response->send();

//终止核心程序
$kernel->terminate($request, $response);
本作品采用《CC 协议》,转载必须注明作者和本文链接

简洁略带风骚

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!