這篇文章為大家帶來了關於laravel的相關知識,其中主要總結了最常見的laravel面試器,以便菜鳥以及有經驗的應徵者找到合適的工作,希望對大家有幫助。
【相關推薦: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) 說一下依賴注入和依賴注入的類型.
它是『其中一種物件依賴於另一個物件』的技術。
依賴注入有三種類型:
- 建構函式註入
- setter 注入
- 介面注入.
## 22) 使用laravel 有什麼優點嗎?
以下是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 支援的資料庫.
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.#########它是用來建立偽造資料的一種模組或軟體包。此資料可用於測試目的######它也可以用於產生:###
数字
地址
DateTime
付款
Lorem 文本。
您将如何检查表是否在数据库中存在?
使用 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。
所有控制器和路由都應回傳回應,然後將其傳送回 Web 瀏覽器。 Laravel 提供了多種方法來傳回此回應。最基本的回應是從控制器或路由傳回一個字串。
72) ) 什麼是查詢範圍?
Laravel 的一個功能是我們可以重複使用類似的查詢。我們不需要在 Laravel 專案中再次編寫相同類型的查詢。定義範圍後,只需在查詢模型時呼叫 scope 方法。
73) 解釋一下 Laravel 中的 homestead 。
Laravel homestead 是官方的,一次性的,預先包裝的 vagrant box ,它具有強大的開發環境, 而且無需在電腦上安裝 HHVM,Web 伺服器和 PHP。
74) Laravel 中的命名空間是什麼?
命名空間允許使用者使用特定名稱將函數,類別和常數分組。
76) 說明 CodeIgniter 和 Laravel 之間的差異。
Parameter |
CodeIgniter |
Laravel |
支持ORM | 不支援物件關係映射. |
支援ORM. |
#提供身份驗證 |
確實提供了使用者身份驗證 |
具有內建的使用者驗證 |
程式設計範例 |
面向元件 |
物件導向 |
##對其他資料庫的支援 | 支援Microsoft SQL Server, ORACLE, MYSQL, IBM DB2, PostgreSQL, JDBC 和orientDB 相容 | 它支援PostgreSQL,MySQL,MongoDB 和Microsoft BI,但CodeIgniter 也支援其他資料庫,例如Microsoft SQL Server,DB2,Oracle 等 |
HTTPS 支援 | 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
【相關推薦:laravel影片教學】
以上是歸納整理常見的laravel面試題的詳細內容。更多資訊請關注PHP中文網其他相關文章!