Laravel 面试题整理

最近在面试,然后整理下 Laravel 所需的面试题,以备不时之需。

1. laravel 的生命周期。#

laravel 的声明周期都是从 public/index.php 开始,所有请求都会被 web 服务器导入到此文件中,接下来,请求发送到 http 内核或者 console 内核(分别处理 web 请求和 artisan 命令。)内核请求过程中最重要的内容就是为应用载入服务提供者。应用所有的服务提供者都被配置在 config/app 配置文件的 providers 数组中,接下来就是分发请求,一旦应用被启动且所有服务提供者被注册,request 将会给路由器分发,路由器将会分发请求到路由或者控制器,同时运行所有路由指定的中间件。

2. laravel 路由隐式绑定的原理#

Laravel 会自动处理在路由或控制器方法中,与类型提示的变量名相匹配的路由段名称的的 Eloquent 模型。

3. IoC 容器#

IoC (Inversion of Control ) 译为 [控制反转],也被叫做 [依赖注入]。 什么是 [控制反转]? 对象 A 功能依赖于对象 B, 但是控制权由对象 A 来控制,控制权被颠倒,所以叫做 [控制反转
],而 [依赖注入] 是实现 IoC 的方法,就是由 IoC 容器在运行期间,动态的将某种依赖关系注入到对象之中。

4. Composer aotuload 的原理。#

composer 加载核心思想是通过 composer 的配置文件在引用入口文件 (autoload.php) 时,将类和路径的对应关系加载到内存中,最后将具体加载的实现注册到 spl_autoload_register 函数中。最后将需要的文件包含进来。

先整理这么多,持续更新中。

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。