91個基於Laravel的常見面試題(附答案解析)

青灯夜游
發布: 2022-11-10 21:03:30
轉載
3126 人瀏覽過

91個基於Laravel的常見面試題(附答案解析)

以下是與 Laravel 和 PHP 相關的面試問題,以便菜鳥以及有經驗的應徵者找到合適的工作。

1) 什麼是 Laravel ?

Laravel是一個開源的、廣泛使用的PHP框架。該平台主要用於利用MVC架構模式開發web應用程式。 Laravel是在MIT許可下發布的。

因此,其原始碼託管在GitHub上。它遵循可靠且準確的語言規則,因此是可靠的PHP框架。

2) 定義 Composer.

它是PHP的應用程式層級套件管理器。它提供了用於管理PHP軟體依賴項和庫的標準格式。

3) 什麼是 HTTP 中介軟體?

HTTP中間件是一種用來過濾HTTP請求的技術。 Laravel包含一個中間件,用於檢查應用程式使用者是否已通過身份驗證。

4) 聚合查詢產生器的方法名稱

查詢建構器的聚合方法是:1)max(),2)min(),3)sum (),4)avg()和5)count()。

5) 什麼是 Route ?

路由基本上是由URI(統一資源識別碼)指定的端點。它在Laravel應用程式中充當指針。

最常見的是,路由指向控制器上的方法,還指出哪些HTTP方法可以存取該URI。

6) 為什麼使用 Route?

路由儲存在專案根目錄下/ routes資料夾下的檔案內。預設情況下,有幾個不同的檔案對應於應用程式的不同「面」(「面」來自六角形體系結構方法)。

8) 解釋通用 Laravel 應用程式中使用的重要目錄。

常見的Laravel應用程式中使用的目錄是:

  • #App/: 這是我們的應用程式程式碼所在的原始資料夾。所有控制器,策略和模型都在此資料夾中。
  • Config/: 儲存應用程式的設定檔。這些通常不會直接修改,而是取決於在應用程式根目錄下的 .env (環境)檔案中設定的值。
  • Database/: 存放資料庫檔案, 包括 遷移, 資料填入, 和測試工廠。
  • Public/: 可公開存取的資料夾,其中包含已編譯資源,當然還有index.php檔案。

9) 什麼是Controller?

控制器是Laravel所基於的「 MVC」(模型-視圖-控制器)體系結構中的“ C」。

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

反向路由是一種基於符號或名稱產生URL的方法。它使您的Laravel應用程式變得靈活。

** 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 中的預設軟體包為:
1) Envoy, 2) Passport, 3) Socialite, 4) Cashier, 5) Horizon, 6) Scout.

** 18) Laravel 中的服務容器是什麼**

服務容器是用於在Laravel中執行依賴注入的工具。

** 19) 如何在Laravel開啟查詢日誌? **

您可以使用enableQueryLog方法在Laravel中啟用查詢日誌。

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

事件是一種動作或操作,可以幫助您訂閱和偵聽Laravel應用程式中發生的事件。當發生任何活動時,Laravel會自動出發某些事件。

21) 說一下依賴注入和依賴注入的類型.

#它是『其中一種物件依賴於另一個物件』的技術。
依賴注入有三種類型:

  • 1) 建構子注入
  • 2) setter注入
  • 3)介面注入.

22) 使用laravel有什麼優點嗎?

以下是laravel的主要優點:

  • Laravel具有blade模板引擎,可建立動態佈局並增加編譯任務.
  • 可以很簡單的複用程式碼.
  • 您不需要手動維護和包含路徑,因為Laravel具有自動載入功能.
  • 該框架可幫助您使用LOC容器製作新工具.
  • Laravel提供了一個版本控制系統,可協助簡化遷移管理.

23) 說明Laravel中驗證的概念.

在設計任何Laravel應用程式時,驗證是一個重要的概念。它可以確保在將資料儲存到資料庫之前,資料始終採用預期的格式。 Laravel提供了多種驗證資料的方法。
基礎控制器特徵是使用ValidatesRequests類,該類別提供了一種有用的方法來驗證來自客戶端電腦的請求。

24)ORM代表什麼?

ORM代表物件關聯映射

25) 如何減少Laravel中的記憶體使用?

在處理大量資料時,可以使用cursor方法以減少記憶體使用量

#26) 列出Laravel Eloquent中可用的關聯類型。

Laravel Eloquent中可用的關聯型別有:

  • 1)一對一
  • 2)一對一
  • 3 )多對多
  • 4) 多對多關聯hasManyThrough
  • 5) 多態關係

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

Blade是Laravel使用的功能強大的模板引擎。

28) 列出Laravel支援的資料庫.

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錯誤碼?

最常見的HTTP錯誤代碼是:

-錯誤404 –找不到頁面時顯示。
-錯誤-401 –未授權錯誤時顯示

35) 在Laravel解釋 Fluent 查詢產生器。

它是一個資料庫查詢產生器,它提供了方便,快速的介面來建立和執行資料庫查詢。

36) dd()函數的用途是什麼?

此函數用於將變數的內容列印到瀏覽器。 dd的完整格式是Dump and Die。

37) 列出Laravel中使用的常見 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 中如何設定郵件發送?

Laravel提供了一些API,可以在本機和即時伺服器上發送電子郵件。

39) 解釋授權

這是一種使用密碼識別使用者登入憑證的方法。在Laravel中,可以使用帶有兩個參數1)使用者名稱和2)密碼的會話來管理它。

40) delete():從資料庫表中刪除所有記錄

-delete():從資料庫表中刪除所有記錄。
-softDeletes():不會從表格中刪除資料。它用於將任何記錄標記為已刪除。

41) 如何在Laravel中製作即時的sitemap.xml檔?

您可以建立網站的所有網頁,以告知搜尋引擎有關組織網站內容的資訊。搜尋引擎的搜尋器會智慧地讀取此文件以對網站進行搜尋。

42) 解釋說明Laravel中的faker.

#它是用來建立偽造資料的一種模組或軟體包。此資料可用於測試目的

它也可以用於產生:

  • 1)數字
  • 2)位址
  • ##3)DateTime
  • 4)付款
  • 5)Lorem文本。

43) 您將如何檢查表格是否在資料庫中存在?

使用Laravel中的hasTable()函數檢查所需的表格是否在資料庫中存在。

44) Laravel中insert()和insertGetId()函數之間的顯著差異是什麼?

    Insert(): 此函數只用於將記錄插入資料庫。不傳回自增ID
  • InsertGetId(): 此函數會在表中插入一筆記錄,但當ID欄位自動遞增時使用。 (插入記錄並傳回自增的ID)

45) 解釋說明Laravel中的活動記錄-active record

在活動記錄中,類別映射到您的資料庫表。它可以幫助您處理CRUD操作。

46) 列出Laravel中的基礎概念

以下是laravel中用到的基礎概念:

    路由
  • Eloquent ORM
  • 中間件
  • 安全
  • 快取
  • Blade 範本
##47) 定義隱式控制器。

隱式控制器可協助您定義適當的路由來處理控制器操作。您可以使用Route :: controller()方法在route.php檔案中定義它們。

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

自訂表名,您可以重寫protected變數$ table的值。

49) 什麼是MVC框架?

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

  • Model: 模型定義編寫Laravel應用程式的邏輯。
  • View: 它涵蓋了Laravel應用程式的UI邏輯。
  • Controller:它是模型和視圖之間的介面。這是用戶與應用程式互動的一種方式。

50) 定義 @include.

#@include用於載入多個模板視圖檔案。它可以幫助您將視圖納入另一個視圖。用戶還可以在一個視圖中載入多個文件。

51) 解釋一下cookies 的概念.

Cookies是從特定網站發送的小文件,並且在使用者瀏覽時由使用者的瀏覽器儲存在PC上。

52) 哪一個檔案用來與資料庫建立連線?

要建立與資料庫的連接,可以使用.env檔。

53) 什麼是 Eloquent?

Eloquent 是 在laravel中使用的 ORM 。它提供了簡單的 active record 實現, 配合資料庫使用. 每個資料庫表都有其模型,該模型用於與表進行互動。

54)列出Laravel的一些內建驗證控制器。

Laravel安裝具有一組內建的通用身份驗證控制器。這些控制器是:

  • RegisterController
  • LoginController
  • #ResetPasswordController
  • ForgetPasswordController

#55)解釋Laravel guard(衛兵) 。

Laravel Guard是一個用來尋找經過驗證使用者的特殊元件。
最初將請求的傳入路由透過此防護來驗證使用者輸入的憑證。防護措施在../config/auth.php檔案中定義。

56) 什麼是Laravel API限流?

這是Laravel的功能。它提供了限流處理功能。限流可協助Laravel開發人員開發安全的應用程式並防止DOS攻擊。

#57) 解釋依稀laravel中的集合Collections.

#集合Collections是用於陣列的包裝器類別。 Laravel Eloquent 的查詢使用一組最常用的函數來傳回資料庫結果。

58) DB Facade的用途是什麼?

DB Facade用於執行SQL查詢,例如創建,查詢,更新,插入和刪除。

59) 物件關係映射的用途是什麼?

物件關聯映射是一種技術,可協助開發人員在不考慮物件及其資料來源之間的關係的情況下尋址,存取和操縱物件。

60) 解釋Laravel中的路由概念。
它允許將您所有的應用程式請求路由到控制器。 Laravel路由確認並接受帶有閉包的統一資源識別碼。

61) Laravel中的Ajax是什麼?

Ajax代表非同步JavaScript,XML是一種Web開發技術,用於建立非同步Web應用程式。在Laravel中,response()和json()函數用於建立非同步Web應用程式。

62)Laravel中的session是什麼?

session用於將使用者資訊從一個網頁傳遞到另一網頁。 Laravel提供了各種驅動程式(例如cookie,數組,文件,Memcached和Redis)來處理會話資料。

63)如何存取session會話資料?

透過在HTTP請求中建立會話的實例,可以存取會話資料。取得實例後,將get()方法與「 Key」作為參數一起使用以取得會話詳細資訊。

64) 說明身分驗證和授權之間的差異。

認證是指透過憑證確認使用者身份,而授權是指收集對系統的存取權限。

65) 解釋監聽器-listeners.
監聽器-listeners用於處理事件和例外。 Laravel中用於登入事件的最常見的監聽器是LoginListener。

66) 什麼策略類別?

策略類別包括Laravel應用程式的授權邏輯。這些類別用於特定的模型或資源。

67) 如何回滾上一次migration遷移?

#需要使用artisan指令回滾上一次遷移。

68) 您所說的Laravel Dusk是什麼意思?

Laravel Dusk是用來測試啟用JavaScript的應用程式的工具。它提供了強大的瀏覽器自動化和測試API。

69) 解釋Laravel echo.

它是一個JavaScript函式庫,可以訂閱和聆聽通道Laravel事件。您可以使用NPM軟體包管理器來安裝echo。

70)什麼是 make 方法?

Laravel開發人員可以使用make方法來綁定介面以建立類別。此方法傳回類別或介面的實例。 Laravel自動注入在類別建構函數中定義的依賴項。

71) 解釋Laravel中的 Response。

所有控制器和路由都應回傳回應,然後將其發送回網頁瀏覽器。 Laravel提供了多種方法來傳回此回應。最基本的回應是從控制器或路由傳回一個字串。

72) )什麼是查詢範圍?

Laravel的一個功能是我們可以重複使用類似的查詢。我們不需要在Laravel專案中再次編寫相同類型的查詢。定義範圍後,只需在查詢模型時呼叫scope方法。

73) 解釋一下 Laravel 中的 homestead 。

Laravel homestead 是官方的,一次性的, 預包裝的 vagrant box ,它具有強大的開發環境, 而且無需在電腦上安裝HHVM,Web伺服器和PHP。

74) Laravel中的命名空間是什麼?

命名空間允許使用者使用特定名稱將函數,類別和常數分組。

76) 說明CodeIgniter和Laravel之間的差異。

支援ORM #不支援物件關係映射. 支援ORM. 提供身份驗證 確實提供了使用者身份驗證. 具有內建的使用者身份驗證. ##程式設計範例 對其他資料庫的支援 HTTPS支持
#Parameter #CodeIgniter
# Laravel
面向元件. 物件導向.
#支援Microsoft SQL Server, ORACLE, MYSQL, IBM DB2, PostgreSQL, JDBC和orientDB相容. 它支援PostgreSQL,MySQL,MongoDB和Microsoft BI,但CodeIgniter也支援其他資料庫,例如Microsoft SQL Server,DB2,Oracle等。
CodeIgniter部分支持HTTPS。因此,程式設計師可以使用URL透過建立PATS來保護資料傳輸過程。 ######Laravel支援自訂HTTPS路由。程式設計師可以為他們定義的HTTPS路由建立特定的URL。 ############

77) 什麼是觀察員 Observers?

Model Observers 是Laravel的功能。它用於為模型建立事件監聽器的群集。這些類別的方法名稱描述了Eloquent事件。 Observers 類別方法將模型作為參數接收。

78) bootstrap 目錄的用途是什麼?

#它用來初始化Laravel專案。這個引導目錄包含負責引導框架的app.php檔案。

79) 預設的會話逾時時間是多少?

Laravel會話的預設逾時時間為2小時。

80) 如何刪除已編譯的類別檔案?

使用clear-compiled指令刪除已編譯的類別檔。

81) robot.txt放在哪個資料夾中?

Robot.txt檔案放置在「Public」目錄中。

82) 解釋API.PHP路由。

其路由對應於API叢集。它具有在Laravel中預設為啟用的API中間件。這些路由沒有任何狀態和交叉請求內存,也沒有session會話。

83) 什麼是定義路由?

定義路由是一種產生路由路徑的方法。這些路由的連結可以透過在定義路由方法中進行說明

84)什麼是開源軟體?

開源軟體是可以免費取得原始碼的軟體。原始碼可以根據使用者要求進行共享和修改。

85) 解釋 Laravel中的 Loggin 。

它是一種產生系統錯誤日誌的技術。 Loggin有助於提高系統的可靠性。 Laravel支援各種日誌記錄模式,例如syslog,每日,單次和錯誤日誌記錄模式。

86) 什麼是本地化?

Laravel的一個功能是支援應用程式中使用的各種語言。開發人員可以在檔案中儲存不同語言的字串,這些檔案儲存在resources / views資料夾中。開發人員應為每種支援的語言建立一個單獨的資料夾。

87) 定義 Laravel 中的 hashing .

這是將文字轉換為顯示原始文字的key的方法。 Laravel使用Hash facade以哈希方式安全地儲存密碼。

88)解釋Laravel中加密和解密的概念.

#加密是使用某些演算法以第三用戶無法讀取資訊的方式轉換任何資訊的過程。加密可以保護您的敏感資訊不受入侵。

使用加密過程執行加密。要加密的訊息稱為純訊息。加密後獲得的訊息稱為密碼訊息。將密文轉換為純文字或訊息時,此過程稱為解密。

89) 如何與視圖共用資料?

要將資料傳遞給Laravel中的所有視圖,請使用稱為share()的方法。此方法採用兩個參數,即key和value。
通常,從Laravel應用程式service provider的boot方法呼叫share()方法。開發人員可以使用任何service provider,AppServiceProvider或我們自己的service provider。

90) 解釋 web.php 路由.

Web.php 是基於公眾的「瀏覽器」路由。這是最常見的途徑,也是網頁瀏覽器會遇到的問題。它們遍歷Web中間件群組,也包含CSRF保護工具(有助於防禦基於表單的惡意攻擊和駭客攻擊),並且通常包含一定程度的「狀態」 (我的意思是他們利用session會話).

91) 如何在Laravel產生請求?

在Laravel中使用以下artisan指令產生請求:

php artisan make:request UploadFileRequest
登入後複製

原文位址:https://www.guru99.com/laravel-interview-questions.html

翻譯網址:https://learnku.com/laravel/t/38446

【相關建議:laravel影片教學

#####

以上是91個基於Laravel的常見面試題(附答案解析)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!