对laravel框架你了解多少,为什么说是优雅的框架

Laravel框架
500
0
0
2022-09-01
标签   Laravel基础

面试PHP,有时候也会被问起使用的框架的一些问题,这里就框架Laravel给大家做了一个总结。

laravel框架最大的特点和优秀之处就是集合了php比较新的特点,以及各种各样的设计模式,Ioc模式,依赖注入等

一、Laravel有哪些特点

1 强大的rest router:用简单的回调函数就可以调用,快速绑定controllerrouter

2 artisan:命令行工具,很多手动的工作都自动化

3 可继承的模板,简化view的开发和管理

4 blade模板:渲染速度更快

5 ORM操作数据库

6 migration:管理数据库和版本控制

7 测试功能也很强大

8 composer也是亮点

9 laravel框架引入了门面,依赖注入,Ioc模式,以及各种各样的设计模式等

二、架构模式

laravel框架是使用了服务组件化的开发模式,由多个服务提供者构成了组件,再由多个组件提供不同的服务,然后是多个服务构成了项目

服务提供者是应用配置的核心,是通过 register方法中绑定服务到服务容器的。

三、涉及到的设计模式

laravel框架使用了大量设计模式,使模块之间耦合度很低,服务容器可以方便的扩展框架功能以及编写测试。

1.ORM - 对象关系映射模式

2 依赖注入与IOC容器 - 策略模式

3 监听与触发 - 观察者模式

4 门面模式 - 静态代理

还有其他的,比如注册服务的时候用到单例模式等。

四、服务方面

能快速开发出功能,自带各种方便的服务,比如数据验证、队列、缓存、数据迁移、测试、artisan 命令行等等,还有强大的 ORMartisan强大的命令行工具,实现自动化。

Laravel安全功能有效地利用了盐散列和加密码机制,Bcrypt哈希算法”来创建加密密码。

五、框架的其他知识点

服务容器:是一个用于管理类依赖和执行依赖注入的强大工具。其实质是通过构造函数或者某些情况下通过「setter」方法将类依赖注入到类中。

门面:为应用服务容器中的绑定类提供了一个「静态」接口 ,优点:在维护时能够提供更加易于测试、更加灵活、简明优雅的语法。

契约:用来规划服务提供者的格式、方法、参数等,给服务提供者规范了一定约束。

反射:主要用来动态地获取系统中类、实例对象、方法等语言构件的信息,通过发射API函数可以实现对这些语言构件信息的动态获取和动态操作等。

后期静态绑定:用于在继承范围内引用静态调用的类,即在类的继承过程中,使用的类不再是当前类,而是调用的类。

六、生命周期

生命周期如下:

入口文件-请求web服务器导入这个文件-载入 Composer 生成的自动加载启动核心文件-内核启动(服务提供者启动框架的各种组件)-交给路由分发到到(控制器,中间件等)-逻辑处理-返回结果

七、laravel框架运用到的repository模式的主要思想

建立一个数据操作代理层,把controller里的数据操作剥离出来,这样做有几个好处:

1 把数据处理逻辑分离使得代码更容易维护

2 数据处理逻辑和业务逻辑分离,可以对这两个代码分别进行测试

3 减少代码重复

4 降低代码出错的几率

5 让controller代码的可读性大大提高