40个常见的 Laravel 面试题和答案

以下是经常问到的 Laravel 和 PHP 相关的面试问题,以便菜鸟以及有经验的应聘者找到合适的工作。

1) 什么是 Laravel ?
Laravel 是一个开源的、广泛使用的 PHP 框架。该平台主要用于利用 MVC 架构模式开发 web 应用程序。
Laravel 是在 MIT 许可下发布的。因此,其源代码托管在 GitHub 上。它遵循可靠且准确的语言规则,因此是可靠的 PHP 框架。

2) 定义 Composer
它是 PHP 的应用程序级程序包管理器。
它提供了用于管理 PHP 软件依赖项和库的标准格式。

3) 什么是 HTTP 中间件?
HTTP 中间件是一种用于过滤 HTTP 请求的技术。
Laravel 包含一个中间件,用于检查应用程序用户是否已通过身份验证。

4) 聚合查询生成器的方法名称
查询构建器的聚合方法是:
max ()
min ()
sum ()
avg ()
count ()

5) 什么是 Route ?
路由基本上是由 URI (统一资源标识符) 指定的端点。
它在 Laravel 应用程序中充当指针。
最常见的是,路由指向控制器上的方法,还指出哪些 HTTP 方法可以访问该 URI。

6) 为什么使用 Route?
路由存储在项目根目录下 /routes 文件夹下的文件内。默认情况下,有几个不同的文件对应于应用程序的不同 “面”(“面” 来自六角形体系结构方法)。

7) 解释通用 Laravel 应用程序中使用的重要目录
常见的 Laravel 应用程序中使用的目录是:
App/: 这是我们的应用程序代码所在的源文件夹。所有控制器,策略和模型都在此文件夹中。
Config/: 保存应用程序的配置文件。这些通常不会直接修改,而是取决于在应用程序根目录下的 .env (环境) 文件中设置的值。
Database/: 存放数据库文件,包括 迁移,数据填充,和测试工厂。
Public/: 可公开访问的文件夹,其中包含已编译资源,当然还有 index.php 文件。

8) 什么是 Controller?
控制器是 Laravel 所基于的 “MVC”(模型 - 视图 - 控制器) 体系结构中的 “ C”。

9) 如何在 Laravel 中生成请求?
在 Laravel 中使用以下 artisan 命令生成请求:
php artisan make:request UploadFileRequest

10) 解释 Laravel 中的反向路由。
反向路由是一种基于符号或名称生成 URL 的方法。
它使您的 Laravel 应用程序变得灵活。

11) 解释 web.php 路由
Web.php 是基于公众的 “浏览器” 路由。这是最常见的途径,也是网络浏览器会遇到的问题。
它们遍历 Web 中间件组,还包含 CSRF 保护工具 (有助于防御基于表单的恶意攻击和黑客攻击),并且通常包含一定程度的 “状态” (我的意思是他们利用 session 会话)。

12) 解释 Laravel 中 traits 的特征。
Laravel traits 是包含在另一个类中的一组函数。
一个 trait 就像一个抽象类。
不能直接实例化它,但是可以在其他的类中使用它的方法。

13) 解释 Laravel 中契约的概念。
它们是 Laravel 框架的接口集合。这些契约提供核心服务。Laravel 中的契约包括相应的框架实现。

14) 如何注册您的服务提供者?
您可以在 config/app.php 配置文件中注册服务提供者,该配置文件包含一个数组,您可以在其中配置服务提供者的类名。

15) 如何定义 Laravel 的门面?
所有的门面都定义在 Illuminate\Support\Facades 命名空间当中。

16) 说明 get 与 post 之间的区别
Get 方法允许在请求头部 (header) 中发送有限数量的数据。Post 允许在正文中发送大量数据。

17) 列出 Laravel 5.6 中的软件包
Laravel 5.6 中的默认软件包为:
Envoy
Passport
Socialite
Cashier
Horizon
Scout

18) Laravel 中的服务容器是什么
服务容器是用于在 Laravel 中执行依赖注入的工具。

19) 如何在 Laravel 中开启查询日志?
您可以使用 enableQueryLog 方法在 Laravel 中启用查询日志。

20) 解释 Laravel 中事件的概念。
事件是一种动作或者操作,可以帮助您订阅和侦听 Laravel 应用程序中发生的事件。当发生任何活动时,Laravel 会自动出发某些事件。
21) 说一下依赖注入和依赖注入的类型
它是‘其中一种对象依赖于另一个对象’的技术。依赖注入有三种类型:
构造函数注入
setter 注入
接口注入

22) 使用 laravel 有什么优势吗?
Laravel 具有 blade 模板引擎,可创建动态布局并增加编译任务
可以很简单的复用代码
您不需要手动维护和包含路径,因为 Laravel 具有自动加载功能
该框架可帮助您使用 LOC 容器制作新工具
Laravel 提供了一个版本控制系统,可帮助简化迁移管理

23) 说明 Laravel 中验证的概念
在设计任何 Laravel 应用程序时,验证是一个重要的概念。它可以确保在将数据存储到数据库之前,数据始终采用预期的格式。
Laravel 提供了多种验证数据的方法。基础控制器特征是使用 ValidatesRequests 类,该类提供了一种有用的方法来验证来自客户端计算机的请求。

24) ORM 代表什么?
ORM 代表对象关系映射

25) 如何减少 Laravel 中的内存使用?
在处理大量数据时,可以使用 cursor 方法以减少内存使用量

26) 列出 Laravel Eloquent 中可用的关系类型。
Laravel Eloquent 中可用的关系类型有:
一对一
一对多
多对多
多对多关联 hasManyThrough
多态关系

27) 定义一下 Laravel 使用的模板引擎.
Blade 是 Laravel 使用的功能强大的模板引擎。

28) 列出 Laravel 支持的数据库.
PostgreSQL
SQL Server
SQLite
MySQL

29) 为什么迁移很重要?
迁移非常重要是因为它允许您通过维护数据库一致性来共享应用程序。
如果不进行迁移,则很难共享任何 Laravel 应用程序。
它还允许您同步数据库。

30) 定义 Lumen
Lumen 是一个微型框架。它是基于 Laravel 服务和 REST API 的更小,更快的版本。

31) 解释 PHP artisan
artisan 是 Laravel 的命令行工具。它提供的命令可帮助您轻松构建 Laravel 应用程序。

32) 如何生成链接?
Laravel 用 helpers 函数 来生成链接。当您在模板和 API 响应中建立链接时,这将很有帮助。

33) 哪个类用于处理异常?
Laravel 异常由 App.exceptions.handler 类处理。

34) 什么是常见的 HTTP 错误代码?
错误 404 未找到页面时显示
错误 401未授权错误时显示

35) 在 Laravel 中解释 Fluent 查询生成器。
它是一个数据库查询生成器,它提供了方便,快捷的界面来创建和运行数据库查询。

36) dd () 函数的用途是什么?
此函数用于将变量的内容打印到浏览器。dd 的完整格式是 Dump and Die。

37) 列出 Laravel 中使用的常见 artisan 命令。
PHP artisan down;
PHP artisan up;
PHP artisan make:controller;
PHP artisan make:model;
PHP artisan make:migration;
PHP artisan make:middleware;

38) 在 Laravel 中 如何配置邮件发送?
Laravel 提供了一些 API,可以在本地和实时服务器上发送电子邮件。

39) 解释授权
这是一种使用密码标识用户登录凭据的方法。
在 Laravel 中,可以使用带有两个参数 ,用户名和 密码的会话来管理它。

40) delete ():从数据库表中删除所有记录
delete ():从数据库表中删除所有记录。
softDeletes ():不会从表中删除数据。它用于将任何记录标记为已删除。

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值