1、如何在Laravel中启⽤查询⽇志?
DB::connection()->enableQueryLog();
$queries = DB::getQueryLog();
- 简述Laravel框架有哪些优缺点?
优点:
设计思想先进
集合了PHP 比较新的特性,以及各种各样的设计模式
Ioc 容器,依赖注入等。
缺点:
基于组件式的框架,所以比较臃肿
- 解释通用 Laravel 应用程序中使用的重要目录?
(1)App/: 这是我们的应用程序代码所在的源文件夹。所有控制器,策略和模型都在此文件夹中。
(2)Config/: 保存应用程序的配置文件。这些通常不会直接修改,而是取决于在应用程序根目录下的 .env (环境) 文件中设置的值。
(3)Database/: 存放数据库文件,包括 迁移,数据填充,和测试工厂。
(4)Public/: 可公开访问的文件夹,其中包含已编译资源,当然还有 index.php 文件
4、解释 Laravel 中的反向路由 ?
通过指定路由的名称来生成URL,而不是硬编码路由的路径。
备注:这样做的好处是,即使路由的路径发生变化,只要路由的名称保持不变,生成URL的代码就不需要改变
5、解释 Laravel 中契约的概念
契约是 Laravel 框架的接口集合,提供核心服务,并包括相应的框架实现
6、列出Laravel Eloquent中可用的关系类型
1)一对一
2)一对多
3)多对多
4) 多对多关联hasManyThrough
5) 多态关系
7、简述Laravel中的事件是什么?
是一种动作或者操作,可以帮助侦听Laravel应用程序中发生的事件。当发生任何活动时,Laravel会自动出发某些事件
8、解释 Laravel 中的迁移?
允许开发者管理其数据库架构的版本控制
9、请解释Laravel的服务容器 ?
用于管理类的依赖和执行依赖注入的工具
10、简述Laravel的Traits ?
是为类似PHP的单继承语言而准备的一种代码复用机制
11、阐述服务提供商/提供者?
是配置应用程序的中心方式之一。服务提供者是包含了register和boot方法的类,用于注册绑定服务容器中的服务和事件
12、请解释Laravel中的验证?
使用ValidatesRequests类,该类提供了一种有用的方法来验证来自客户端计算机的请求
13、请列出Laravel 5.6提供的默认包?
Envoy、Passport、Socialite、Cashier、Horizon、Scout
14、列出Laravel中查询构建器提供的常见聚合⽅法?
max(),min(),sum(),avg(),count()。
15、简述如何通过 composer 来安装Laravel?
composer create-project --prefer-dist laravel/laravel
16、如何定义 Laravel 的门面 Facades ?
Facades 提供了一个静态的接口去访问 Laravel 的服务容器中的类
- 简述什么是PHP artisan?请列出 artisan 的⼀些命令?
Laravel 的命令行工具。 它提供的命令可帮助松构建Laravel应用程序
- PHP artisan down;
- PHP artisan up;
- PHP artisan make:controller;
- PHP artisan make:model;
- PHP artisan make:migration;
- PHP artisan make:middleware;
18、如何在Laravel Modal中使⽤⾃定义表?
重写protected变量$ table的值。
19、简述Laravel是否⽀持缓存机制?
支持多种缓存驱动,包括文件、数据库、Memcached、Redis 等
20、解释什么是Lumen ?
一个微型框架. 它是基于 Laravel 服务和 REST API 的更小,更快的版本
21、请解释Laravel中的捆绑包?
bundle也称为捆绑包。bundle是扩展Laravel功能的主要方式
22、简述Laravel框架的服务器系统环境有什么要求?
PHP> = 7.1.3
OpenSSL PHP扩展
PDO PHP扩展
Mbstring PHP扩展
Tokenizer PHP扩展
XML PHP扩展
23、简述 Laravel框架中的命名路由?
命名路由允许你路由指定一个名字,然后你可以使用这个名字生成URL,或者在视图中生成链接,甚至在JavaScript中生成AJAX请求路径等
24、简述Laravel中间件(Middleware)是什么?
在Laravel中起着过滤进入应用的HTTP请求对象(Request)和完善离开应用的HTTP响应对象(Reponse)的作用, 而且可以通过应用多个中间件来层层过滤请求、逐步完善响应
25、简述什么是特定路由的CSRF保护 ?
Laravel为应用程序管理的每个活动用户会话自动生成一个“令牌”。 此令牌用于验证经过身份验证的用户是实际向应用程序发出请求的用户。
26、Laravel 使用的什么模板引擎?
Blade是Laravel使用的功能强大的模板引擎
27、列出 Laravel 支持的数据库?
PostgreSQL
SQL Server
SQLite
MySQL
28、Laravel 哪个类用于处理异常?
Laravel异常由App.exceptions.handler类处理。
29、Laravel 中解释 Fluent 查询生成器?
它是一个数据库查询生成器,它提供了方便,快捷的界面来创建和运行数据库查询。
30、解释说明Laravel中的faker.
它是用于创建伪造数据的一种模块或软件包。此数据可用于测试目的
它也可以用于生成:
1)数字
2)地址
3)DateTime
4)付款
5)Lorem文本。
31、解释说明 Laravel中的活动记录-active record
在活动记录中,类映射到数据库表。它可以帮助处理CRUD操作。
32、定义隐式控制器。
隐式控制器是指定义适当的路由来处理控制器操作。您可以使用Route :: controller()方法在route.php文件中定义它们。
33、定义 @include.
@include用于加载多个模板视图文件。它可以将视图包括在另一个视图中。用户还可以在一个视图中加载多个文件。
34、简述Laravel 涉及到的设计模式?
工厂模式、单例模式、注册树模式、适配器模式、策略模式、数据对象映射模式、观察者模式、原型模式、装饰器模式、迭代器模式、代理模式
35、简述Laravel Ioc是什么?请简述Ioc的实现原理 ?
控制反转,又称DI,它提供了依赖注入的功能。简单来说,Ioc 容器负责管理类的依赖关系,而不是类本身主动获取依赖。
Ioc 实现的核心概念包括:
绑定:将类或接口与实现它们的类建立关联。
解析:获取绑定的类的实例。
依赖注入:通过构造函数、方法注入等方式将依赖注入到对象中。
以下是一个简单的示例,展示了如何在 Laravel 中使用 Ioc 容器:
- 简述Laravel如何清除所有日志?
(1)
(2)替换/path/to/logs保存的日志文件路径