50道面試官必問(wèn)的Laravel面試題【附答案】

下面由laravel教程欄目給大家總結(jié)面試官必問(wèn)的50道 laravel 面試題和答案 ,希望對(duì)需要的朋友有所幫助!

1) 什么是 Laravel ?

Laravel 是一個(gè)開(kāi)源的、廣泛使用的 php 框架。該平臺(tái)主要用于利用 mvc 架構(gòu)模式開(kāi)發(fā) web 應(yīng)用程序。Laravel 是在 MIT 許可下發(fā)布的。

因此,其源代碼托管在 github 上。它遵循可靠且準(zhǔn)確的語(yǔ)言規(guī)則,因此是可靠的 PHP 框架。

2) 定義 composer.

它是 PHP 的應(yīng)用程序級(jí)程序包管理器。它提供了用于管理 PHP 軟件依賴(lài)項(xiàng)和庫(kù)的標(biāo)準(zhǔn)格式。

3) 什么是 http 中間件

HTTP 中間件是一種用于過(guò)濾 HTTP 請(qǐng)求的技術(shù)。 Laravel 包含一個(gè)中間件,用于檢查應(yīng)用程序用戶(hù)是否已通過(guò)身份驗(yàn)證。

4) 聚合查詢(xún)生成器的方法名稱(chēng)

查詢(xún)構(gòu)建器的聚合方法是:1) max ()、2) min ()、3) sum ()、4) avg () 和 5) count ()。

5) 什么是 Route ?

路由基本上是由 URI (統(tǒng)一資源標(biāo)識(shí)符) 指定的端點(diǎn)。它在 Laravel 應(yīng)用程序中充當(dāng)指針

最常見(jiàn)的是,路由指向控制器上的方法,還指出哪些 HTTP 方法可以訪問(wèn)該 URI。

6) 為什么使用 Route?

路由存儲(chǔ)在項(xiàng)目根目錄下 /routes 文件夾下的文件內(nèi)。默認(rèn)情況下,有幾個(gè)不同的文件對(duì)應(yīng)于應(yīng)用程序的不同 “面”(“面” 來(lái)自六角形體系結(jié)構(gòu)方法)。

7) 什么是定義路由?

定義路由是一種生成路由路徑的方法。 這些路由的鏈接可以通過(guò)在定義路由方法中進(jìn)行說(shuō)明

8) 解釋通用 Laravel 應(yīng)用程序中使用的重要目錄。

常見(jiàn)的 Laravel 應(yīng)用程序中使用的目錄是:

  • App/: 這是我們的應(yīng)用程序代碼所在的源文件夾。所有控制器,策略和模型都在此文件夾中。
  • Config/: 保存應(yīng)用程序的配置文件。這些通常不會(huì)直接修改,而是取決于在應(yīng)用程序根目錄下的 .env (環(huán)境) 文件中設(shè)置的值。
  • database/: 存放數(shù)據(jù)庫(kù)文件,包括 遷移,數(shù)據(jù)填充,和測(cè)試工廠。
  • public/: 可公開(kāi)訪問(wèn)的文件夾,其中包含已編譯資源,當(dāng)然還有 index.php 文件。

9) 什么是 Controller?

控制器是 Laravel 所基于的 “MVC”(模型 – 視圖 – 控制器) 體系結(jié)構(gòu)中的 “ C”。

10) 解釋 Laravel 中的反向路由。

反向路由是一種基于符號(hào)或名稱(chēng)生成 URL 的方法。它使您的 Laravel 應(yīng)用程序變得靈活。

11) 說(shuō)明 CodeIgniter 和 Laravel 之間的區(qū)別。

Parameter CodeIgniter Laravel
支持 ORM 不支持對(duì)象關(guān)系映射. 支持 ORM.
提供身份驗(yàn)證 確實(shí)提供了用戶(hù)身份驗(yàn)證. 具有內(nèi)置的用戶(hù)身份驗(yàn)證.
編程范例 面向組件. 面向?qū)ο?/b>.
對(duì)其他數(shù)據(jù)庫(kù)的支持 支持 microsoft sql Server, oracle, mysql, IBM DB2, postgresql, JDBC 和 orientDB 兼容. 它支持 PostgreSQL,MySQL,mongodb 和 Microsoft BI,但 CodeIgniter 還支持其他數(shù)據(jù)庫(kù),例如 Microsoft SQL Server,DB2,Oracle 等。
https 支持 CodeIgniter 部分支持 HTTPS。因此,程序員可以使用 URL 通過(guò)創(chuàng)建 PATS 來(lái)保護(hù)數(shù)據(jù)傳輸過(guò)程。 Laravel 支持自定義 HTTPS 路由。程序員可以為他們定義的 HTTPS 路由創(chuàng)建特定的 URL。

12) 解釋 Laravel 中 traits 的特征。

Laravel traits 是包含在另一個(gè)類(lèi)中的一組函數(shù)。 一個(gè) trait 就像一個(gè)抽象類(lèi)。您不能直接實(shí)例化它,但是可以在其他的類(lèi)中使用它的方法。

13) 解釋 Laravel 中契約的概念。

它們是 Laravel 框架的接口集合。 這些契約提供核心服務(wù)。 Laravel 中的契約包括相應(yīng)的框架實(shí)現(xiàn)。

14) 如何注冊(cè)您的服務(wù)提供者?

您可以在 config/pp.php 配置文件中注冊(cè)服務(wù)提供者,該配置文件包含一個(gè)數(shù)組,您可以在其中配置服務(wù)提供者的類(lèi)名。

15) 如何定義 Laravel 的門(mén)面?

所有的門(mén)面都定義在 IlluminateSupportFacades 命名空間當(dāng)中。

16) 說(shuō)明 get 與 post 之間的區(qū)別

Get 方法允許在請(qǐng)求頭部 (header) 中發(fā)送有限數(shù)量的數(shù)據(jù)。Post 允許在正文中發(fā)送大量數(shù)據(jù)。

17) 列出 Laravel 5.6 中的軟件包

Laravel 5.6 中的默認(rèn)軟件包為:

1) Envoy、 2) Passport、 3) Socialite、 4) Cashier、 5) Horizon、 6) Scout.

18) Laravel 中的服務(wù)容器是什么

服務(wù)容器是用于在 Laravel 中執(zhí)行依賴(lài)注入的工具。

19) 如何在 Laravel 中開(kāi)啟查詢(xún)?nèi)罩荆?/strong>

你可以使用 enableQueryLog 方法在 Laravel 中啟用查詢(xún)?nèi)罩尽?/p>

20) 解釋 Laravel 中事件的概念。

事件是一種動(dòng)作或者操作,可以幫助您訂閱和偵聽(tīng) Laravel 應(yīng)用程序中發(fā)生的事件。當(dāng)發(fā)生任何活動(dòng)時(shí),Laravel 會(huì)自動(dòng)出發(fā)某些事件。

21) 說(shuō)一下依賴(lài)注入和依賴(lài)注入的類(lèi)型.

它是‘其中一種對(duì)象依賴(lài)于另一個(gè)對(duì)象’的技術(shù)。

依賴(lài)注入有三種類(lèi)型:

22) 使用 laravel 有什么優(yōu)勢(shì)嗎?

下面是 laravel 的主要優(yōu)點(diǎn):

  • Laravel 具有 blade 模板引擎,可創(chuàng)建動(dòng)態(tài)布局并增加編譯任務(wù).
  • 可以很簡(jiǎn)單的復(fù)用代碼.
  • 您不需要手動(dòng)維護(hù)和包含路徑,因?yàn)?Laravel 具有自動(dòng)加載功能.
  • 該框架可幫助您使用 LOC 容器制作新工具.
  • Laravel 提供了一個(gè)版本控制系統(tǒng),可幫助簡(jiǎn)化遷移管理.

23) 說(shuō)明 Laravel 中驗(yàn)證的概念.

在設(shè)計(jì)任何 Laravel 應(yīng)用程序時(shí),驗(yàn)證是一個(gè)重要的概念。它可以確保在將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)之前,數(shù)據(jù)始終采用預(yù)期的格式。 Laravel 提供了多種驗(yàn)證數(shù)據(jù)的方法。

基礎(chǔ)控制器特征是使用 ValidatesRequests 類(lèi),該類(lèi)提供了一種有用的方法來(lái)驗(yàn)證來(lái)自客戶(hù)端計(jì)算機(jī)的請(qǐng)求。

24) ORM 代表什么?

ORM 代表對(duì)象關(guān)系映射

25) 如何減少 Laravel 中的內(nèi)存使用?

在處理大量數(shù)據(jù)時(shí),可以使用 cursor 方法以減少內(nèi)存使用量

26) 列出 Laravel Eloquent 中可用的關(guān)系類(lèi)型。

Laravel Eloquent 中可用的關(guān)系類(lèi)型有:

  • 1) 一對(duì)一
  • 2) 一對(duì)多
  • 3) 多對(duì)多
  • 4) 多對(duì)多關(guān)聯(lián) hasManyThrough
  • 5) 多態(tài)關(guān)系

27) 定義一下 Laravel 使用的模板引擎.

Blade 是 Laravel 使用的功能強(qiáng)大的模板引擎。

28) 列出 Laravel 支持的數(shù)據(jù)庫(kù).

Laravel 支持以下數(shù)據(jù)庫(kù):

  • PostgreSQL
  • SQL Server
  • SQLite
  • MySQL

29) 為什么遷移很重要?

遷移非常重要是因?yàn)樗试S您通過(guò)維護(hù)數(shù)據(jù)庫(kù)一致性來(lái)共享應(yīng)用程序。

如果不進(jìn)行遷移,則很難共享任何 Laravel 應(yīng)用程序。

它還允許您同步數(shù)據(jù)庫(kù)。

30) 定義 Lumen

Lumen 是一個(gè)微型框架。它是基于 Laravel 服務(wù)和 REST API 的更小,更快的版本。

31) 解釋 PHP artisan

artisan 是 Laravel 的命令行工具。 它提供的命令可幫助您輕松構(gòu)建 Laravel 應(yīng)用程序。

32) 如何生成鏈接?

Laravel 用 helpers 函數(shù) 來(lái)生成鏈接。 當(dāng)您在模板和 API 響應(yīng)中建立鏈接時(shí),這將很有幫助。

33) 哪個(gè)類(lèi)用于處理異常?

Laravel 異常由 App.exceptions.handler 類(lèi)處理。

34) 什么是常見(jiàn)的 HTTP 錯(cuò)誤代碼?

最常見(jiàn)的 HTTP 錯(cuò)誤代碼是:

– 錯(cuò)誤 404 –未找到頁(yè)面時(shí)顯示。

– 錯(cuò)誤 – 401 –未授權(quán)錯(cuò)誤時(shí)顯示

35) 在 Laravel 中解釋 Fluent 查詢(xún)生成器。

它是一個(gè)數(shù)據(jù)庫(kù)查詢(xún)生成器,它提供了方便,快捷的界面來(lái)創(chuàng)建和運(yùn)行數(shù)據(jù)庫(kù)查詢(xún)。

36) dd () 函數(shù)的用途是什么?

此函數(shù)用于將變量的內(nèi)容打印到瀏覽器。 dd 的完整格式是 Dump and die

37) 列出 Laravel 中使用的常見(jiàn) artisan 命令。

Laravel 支持以下工匠命令:

  • PHP artisan down;
  • PHP artisan up;
  • PHP artisan make:controller;
  • PHP artisan make:model;
  • PHP artisan make:migration;
  • PHP artisan make:middleware;

38) 在 Laravel 中 如何配置郵件發(fā)送?

Laravel 提供了一些 API,可以在本地和實(shí)時(shí)服務(wù)器上發(fā)送電子郵件。

39) 解釋授權(quán)

這是一種使用密碼標(biāo)識(shí)用戶(hù)登錄憑據(jù)的方法。在 Laravel 中,可以使用帶有兩個(gè)參數(shù) 1) 用戶(hù)名和 2) 密碼的會(huì)話來(lái)管理它。

40) delete ():從數(shù)據(jù)庫(kù)表中刪除所有記錄

-delete ():從數(shù)據(jù)庫(kù)表中刪除所有記錄。

-softDeletes ():不會(huì)從表中刪除數(shù)據(jù)。它用于將任何記錄標(biāo)記為已刪除。

41) 如何在 Laravel 中制作實(shí)時(shí)的 sitemap.xml 文件?

您可以創(chuàng)建網(wǎng)站的所有網(wǎng)頁(yè),以告知搜索引擎有關(guān)組織網(wǎng)站內(nèi)容的信息。搜索引擎的搜尋器會(huì)智能地讀取此文件以對(duì)網(wǎng)站進(jìn)行搜尋。

42) 解釋說(shuō)明 Laravel 中的 faker.

它是用于創(chuàng)建偽造數(shù)據(jù)的一種模塊或軟件包。此數(shù)據(jù)可用于測(cè)試目的

它也可以用于生成:

  • 1) 數(shù)字
  • 2) 地址
  • 3)DateTime
  • 4) 付款
  • 5) Lorem 文本。

43) 您將如何檢查表是否在數(shù)據(jù)庫(kù)中存在?

使用 Laravel 中的 hastable () 函數(shù)檢查所需的表是否在數(shù)據(jù)庫(kù)中存在。

44) Laravel 中 insert () 和 insertGetId () 函數(shù)之間的顯著區(qū)別是什么?

  • Insert (): 此函數(shù)僅用于將記錄插入數(shù)據(jù)庫(kù)。 不返回自增 ID
  • InsertGetId (): 此函數(shù)會(huì)在表中插入一條記錄,但當(dāng) ID 字段自動(dòng)遞增時(shí)使用。(插入記錄并返回自增的 ID)

45) 解釋說(shuō)明 Laravel 中的活動(dòng)記錄 – active record

在活動(dòng)記錄中,類(lèi)映射到您的數(shù)據(jù)庫(kù)表。它可以幫助您處理 CRUD 操作。

46) 列出 Laravel 中的基礎(chǔ)概念

以下是 laravel 中用到的基礎(chǔ)概念:

  • 路由
  • Eloquent ORM
  • 中間件
  • 安全
  • 緩存
  • Blade 模板

47) 定義隱式控制器。

隱式控制器可幫助您定義適當(dāng)?shù)穆酚蓙?lái)處理控制器操作。您可以使用 Route :: controller () 方法在 route.php 文件中定義它們。

48) 如何在 Laravel 模型中自定義表名?

自定義表名,您可以重寫(xiě) protected 變量 $ table 的值。

49) 什么是 MVC 框架?

它是模型,視圖和控制器:

  • Model: 模型定義編寫(xiě) Laravel 應(yīng)用程序的邏輯。
  • View: 它涵蓋了 Laravel 應(yīng)用程序的 ui 邏輯。
  • Controller: 它是模型和視圖之間的接口。這是用戶(hù)與應(yīng)用程序交互的一種方式。

50) 定義 @include.

@include 用于加載多個(gè)模板視圖文件。它可以幫助您將視圖包括在另一個(gè)視圖中。用戶(hù)還可以在一個(gè)視圖中加載多個(gè)文件。

【推薦:最新的五個(gè)Laravel視頻教程】

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊5 分享