以下是经常被问到的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)什么是路线?
路由基本上是由URI(统一资源标识符)指定的端点。它在Laravel应用程序中充当指针。
最常见的是,路由仅指向控制器上的方法,并且还指示哪些HTTP方法能够访问该URI。
6)为什么要使用Route?
路由存储在项目根目录下/ routes文件夹下的文件内。默认情况下,有几个不同的文件对应于应用程序的不同“面”(“面”来自六边形体系结构方法)。
7)捆绑是什么意思?
在Laravel中,包称为包。这些软件包用于增强Laravel的功能。程序包可以具有视图,配置,迁移,路由和任务。
8)解释通用Laravel应用程序中使用的重要目录。
常见的Laravel应用程序中使用的目录是:
9)什么是控制器?
控制器是“ MVC”(模型-视图-控制器)体系结构中的“ C”,这是Laravel所基于的。
10)解释Laravel中的反向路由。
反向路由是一种基于符号或名称生成URL的方法。它使您的Laravel应用程序变得灵活。
12)解释Laravel的特征。
Laravel特性是您包含在另一个类中的一组函数。特质就像一个抽象类。您不能直接实例化,但是可以在concreate类中使用其方法。
13)解释Laravel中合同的概念。
它们是Laravel框架的接口集。这些合同提供核心服务。 Laravel中定义的合同包括框架的相应实现。
14)您将如何注册服务提供商?
您可以在config / app.php配置文件中注册服务提供者,该文件包含一个数组,您可以在其中提及服务提供者的类名。
15)您将在哪里定义Laravel的立面?
Laravel的所有外观都在Illuminate \ Support \ Facades命名空间中定义。
16)陈述get和post方法之间的区别。
Get方法允许您在标头中发送有限数量的数据。 Post允许您在正文中发送大量数据。
17)列出Laravel 5.6的默认软件包。
Laravel 5.6的默认软件包是:1)特使,2)护照,3)社交名流,4)收银员,5)Horizon,和6)侦察员。
18)Laravel中的服务容器是什么?
服务容器是用于在Laravel中执行依赖注入的工具。
19)如何在Laravel中启用查询日志?
您可以使用enableQueryLog方法在Laravel中启用查询日志。
20)解释Laravel中事件的概念。
事件是一种事件或操作,可帮助您订阅和侦听Laravel应用程序中发生的事件。当发生任何活动时,Laravel会自动触发某些事件。
21)解释依赖项注入及其类型。
它是一种技术,其中一个对象依赖于另一个对象。有三种类型的依赖项注入:1)构造函数注入,2)setter注入和3)接口注入。
22)使用Laravel有什么优势?
这是Laravel的重要优点:
23)解释Laravel中的验证概念。
在设计任何Laravel应用程序时,验证是一个重要的概念。它可以确保在将数据存储到数据库之前,数据始终采用预期的格式。 Laravel提供了多种验证数据的方法。
基本控制器特征使用ValidatesRequests类,该类提供了一种有用的方法来验证来自客户端计算机的请求。
24)ORM代表什么?
ORM代表对象关系映射
25)如何减少Laravel中的内存使用量?
在处理大量数据时,可以使用游标方法以减少内存使用量。
26)在Laravel Eloquent中列出可用的关系类型。
Laravel Eloquent中的关系类型为:1)一对一2)一对多3)多对多4)具有许多直通,以及5)多态关系。
27)命名Laravel使用的模板引擎。
Blade是Laravel使用的功能强大的模板引擎。
28)Laravel支持的名称数据库。
Laravel支持以下数据库:
29)迁移为何重要?
迁移非常重要,因为它允许您通过维护数据库一致性来共享应用程序。如果不进行迁移,则很难共享任何Laravel应用程序。它还允许您同步数据库。
30)定义流明
流明是一个微框架。它是基于Laravel的服务和REST API的更小,更快的版本。
31)讲解PHP工匠
工匠是Laravel的命令行工具。它提供的命令可帮助您轻松构建Laravel应用程序。
32)如何生成URL?
Laravel有帮助者来生成URL。当您在模板和API响应中建立链接时,这将很有帮助。
33)哪个类用于处理异常?
Laravel异常由App \ Exceptions \ Handler类处理。
34)什么是常见的HTTP错误代码?
最常见的HTTP错误代码是:
35)在Laravel中解释流利的查询生成器。
它是一个数据库查询生成器,它提供了方便,快捷的界面来创建和运行数据库查询。
36)dd()函数的用途是什么?
此函数用于将变量的内容转储到浏览器。 dd的完整格式是Dump and Die。
37)列出Laravel中使用的常见artisan 命令。
Laravel支持以下artisan 命令:
38)如何配置邮寄Laravel?
Laravel提供了一些API,可以在本地和实时服务器上发送电子邮件。
39)解释身份验证。
这是一种使用密码标识用户登录凭据的方法。在Laravel中,可以使用带有两个参数1)用户名和2)密码的会话来管理它。
40)区分delete()和softDeletes()。
41)如何在Laravel中创建实时sitemap.xml文件?
您可以创建网站的所有网页,以告知搜索引擎有关组织网站内容的信息。搜索引擎的搜寻器会智能地读取此文件以对网站进行搜寻。
42)向Laravel解释伪造者。
它是一种用于创建伪造数据的模块或软件包。此数据可用于测试目的。
它也可以用于生成:1)数字,2)地址,3)DateTime,4)付款和5)Lorem文本。
43)您将如何检查表是否存在或在数据库中?
使用hasTable()Laravel函数检查数据库中是否存在所需的表。
44)Laravel中insert()和insertGetId()函数之间的显着区别是什么?
45)解释Laravel中的主动记录概念。
在活动记录中,类映射到您的数据库表。它可以帮助您处理CRUD操作。
46)列出Laravel中的基本概念吗?
以下是Laravel中使用的基本概念:
47)定义隐式控制器。
隐式控制器可帮助您定义适当的路由来处理控制器操作。您可以使用Route :: controller()方法在route.php文件中定义它们。
48)如何在Laravel模型中使用自定义表?
为了使用自定义表,您可以覆盖受保护变量$ table的属性。
49)什么是MVC框架?
它是模型,视图和控制器:
50)定义@include。
@include用于加载多个模板视图文件。它可以帮助您将视图包括在另一个视图中。用户还可以在一个视图中加载多个文件。
51)解释cookie的概念。
Cookies是从特定网站发送的小文件,并且在用户浏览时由用户的浏览器存储在PC上。
52)使用哪个文件与数据库建立连接?
要创建与数据库的连接,可以使用.env文件。
53)什么是口才?
口才是Laravel中使用的ORM。它提供了与数据库一起使用的简单活动记录实现。每个数据库表都有其模型,该模型用于与表进行交互。
54)命名一些Laravel的内置身份验证控制器。
Laravel安装具有一组内置的通用身份验证控制器。这些控制器是:
55)定义Laravel后卫。
Laravel Guard是一个特殊的组件,用于查找经过身份验证的用户。最初将请求的传入路由通过此防护来验证用户输入的凭据。防护措施在../config/auth.php文件中定义。
56)什么是Laravel API速率限制?
这是Laravel的功能。它提供了手柄节流功能。速率限制可帮助Laravel开发人员开发安全的应用程序并防止DOS攻击。
57)在Laravel中解释收藏。
集合是用于数组的包装器类。 Laravel雄辩的查询使用一组最常用的函数来返回数据库结果。
58)DB Facade的用途是什么?
DB Facade用于运行SQL查询,例如创建,选择,更新,插入和删除。
59)对象关系映射的用途是什么?
对象关系映射是一种技术,可帮助开发人员在不考虑对象及其数据源之间的关系的情况下寻址,访问和操作对象。
60)解释Laravel中路由的概念。
它允许将您所有的应用程序请求路由到控制器。 Laravel路由确认并接受带闭包的统一资源标识符。
61)Laravel中的Ajax是什么?
Ajax代表异步JavaScript,XML是一种Web开发技术,用于创建异步Web应用程序。在Laravel中,response()和json()函数用于创建异步Web应用程序。
62)什么是Laravel会议?
会话用于将用户信息从一个网页传递到另一网页。 Laravel提供了各种驱动程序(例如cookie,数组,文件,Memcached和Redis)来处理会话数据。
63)如何访问会话数据?
通过在HTTP请求中创建会话的实例,可以访问会话数据。一旦获得实例,请使用带有“键”作为参数的get()方法来获取会话详细信息。
64)说明身份验证和授权之间的区别。
认证是指通过凭据确认用户身份,而授权是指收集对系统的访问权限。
65)向听众解释。
侦听器用于处理事件和异常。 Laravel中最常用于登录事件的侦听器是LoginListener。
66)什么是策略类?
策略类包括Laravel应用程序的授权逻辑。这些类用于特定的模型或资源。
67)如何回滚上一次迁移?
使用需要使用artisan命令回滚上一次迁移。
68)您所说的Laravel Dusk是什么意思?
Laravel Dusk是用于测试启用JavaScript的应用程序的工具。它提供了强大的浏览器自动化和测试API。
69)解释Laravel回声。
它是一个JavaScript库,可以订阅和收听通道Laravel事件。您可以使用NPM软件包管理器来安装echo。
70)什么是制作方法?
Laravel开发人员可以使用make方法来绑定接口以创建类。此方法返回类或接口的实例。 Laravel自动注入在类构造函数中定义的依赖项。
71)解释Laravel中的回应。
所有控制器和路由都应返回响应,然后将其发送回Web浏览器。 Laravel提供了多种方法来返回此响应。最基本的响应是从控制器或路由返回一个字符串。
72)什么是查询范围?
Laravel的一个功能是我们可以重用类似的查询。我们不需要在Laravel项目中再次编写相同类型的查询。定义范围后,只需在查询模型时调用scope方法即可。
73)向拉拉韦尔(Laravel)解释家园。
Laravel Homestead是官方的,一次性的,预包装的无家可归的工具箱,它具有强大的开发环境,而无需在计算机上安装HHVM,Web服务器和PHP。
74)Laravel中的名称空间是什么?
命名空间允许用户使用特定名称将函数,类和常量分组。
75)什么是Laravel Forge?
Laravel Forge帮助组织和设计Web应用程序。尽管Laravel框架的制造商开发了此收费标准,但它可以使在PHP服务器上工作的每个Web应用程序的部署自动化。
76)陈述CodeIgniter和Laravel之间的区别。
内容 | CodeIgniter | Laravel |
对ORM的支持 | CodeIgniter不支持对象关系映射。 | Laravel支持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)什么是Observer观察员?
模型观察者是Laravel的功能。它用于为模型建立事件侦听器的群集。这些类的方法名称描述了Eloquent事件。观察者类方法将模型作为参数接收。
78)bootstrap目录的用途是什么?
它用于初始化Laravel项目。该引导目录包含负责引导框架的app.php文件。
79)默认的会话超时时间是多少?
Laravel会话的默认超时时间为2小时。
80)如何删除编译的类文件?
使用clear-compiled命令删除已编译的类文件。
81)robot.txt放在哪个文件夹中?
Robot.txt文件放置在“公共”目录中。
82)解释API.PHP路由。
它的路由对应于一个API集群。它具有在Laravel中默认启用的API中间件。这些路由没有任何状态和交叉请求内存,也没有会话。
83)什么叫路线?
名称路由是一种生成路由路径的方法。这些路由的链接可以通过在路由描述中应用名称方法来选择。
84)什么是开源软件?
开源软件是可以免费获得源代码的软件。源代码可以根据用户要求进行共享和修改。
85)在Laravel中解释Loggin。
它是一种系统日志生成错误的技术。 Loggin有助于提高系统的可靠性。 Laravel支持各种日志记录模式,例如syslog,每日,单次和错误日志记录模式。
86)什么是本地化?
Laravel的一个功能是支持应用程序中使用的各种语言。开发人员可以在文件中存储不同语言的字符串,这些文件存储在resources / views文件夹中。开发人员应为每种受支持的语言创建一个单独的文件夹。
87)在Laravel中定义哈希。
这是将文本转换为显示原始文本的键的方法。 Laravel使用哈希外观以哈希方式安全地存储密码。
88)解释Laravel中加密和解密的概念。
它是使用某些算法转换消息的过程,以使第三用户无法读取信息。加密对于保护您的敏感信息不受入侵者很有帮助。
使用加密过程执行加密。要加密的消息称为纯消息。加密后获得的消息称为密码消息。当您将密文转换为纯文本或消息时,此过程称为解密。
89)如何与视图共享数据?
要将数据传递给Laravel中的所有视图,请使用称为share()的方法。此方法采用两个参数,即键和值。
通常,从Laravel应用程序服务提供者的启动方法调用share()方法。开发人员可以使用任何服务提供商,AppServiceProvider或我们自己的服务提供商。
90)解释web.php路由。
Web.php是基于公众的“浏览器”路由。这是最常见的途径,也是网络浏览器会遇到的问题。它们遍历Web中间件组,还包含用于CSRF保护的功能(有助于防御基于表单的恶意攻击和黑客攻击),并且通常包含一定程度的“状态”(这意味着它们利用了会话)。
91)如何在Laravel中生成请求?
在Laravel中使用以下artisan命令生成请求:
php artisan make:request UploadFileRequest