学习需要耐心&&时间,更重要的是你要学会坚持!
当前位置:首页 > PHP领域 > 正文

你对Laravel了解多少,有哪些优缺点 ?

2022-03-10 PHP领域 PHP自学中心


面试php的时候总是会被问到,你对你现在用的框架了解多少?有哪些优缺点?如果你用过多个框架的话,还会被用来框架与框架做对比。
没办法,面试造航母,上班拧螺丝。以是程序员的常态。只能好好对待。
 
个人用的是Laravel框架,下面是自己个人对这个框架的总结吧,应该还有很多漏掉的,你也可以在留言处做补充。关键还是 要如何去回答 面试官 。希望能对你面试 用Laravel 有些许帮助吧!
laravel框架最大的特点和优秀之处就是集合了php比较新的特点,以及各种各样的设计模式,Ioc模式,依赖注入等
 
一、Laravel有哪些特点
1 强大的rest router:用简单的回调函数就可以调用,快速绑定controller和router
2 artisan:命令行工具,很多手动的工作都自动化
3 可继承的模板,简化view的开发和管理
4 blade模板:渲染速度更快
5 ORM操作数据库
6 migration:管理数据库和版本控制
7 测试功能也很强大
8 composer也是亮点
9 队列
10 定时任务等
 
二、架构模式
laravel框架是使用了服务组件化的开发模式,由多个服务提供者构成了组件,再由多个组件提供不同的服务,然后是多个服务构成了项目。
 
服务提供者是应用配置的核心,是通过 register方法中绑定服务到服务容器的。
 
三、涉及到的设计模式
laravel框架使用了大量设计模式,使模块之间耦合度很低,服务容器可以方便的扩展框架功能以及编写测试。
1.ORM - 对象关系映射模式
2 依赖注入与IOC容器 - 策略模式
3 监听与触发  -  观察者模式
4 门面模式 - 静态代理
5 注册树模式  -  比如app.php里用到的数组存储
 
还有其他的,比如注册门面的时候用到单例模式app()->singleton等。
 
四、服务方面
能快速开发出功能,自带各种方便的服务,比如数据验证、队列、缓存、数据迁移、测试、artisan 命令行等等,还有强大的 ORM,artisan强大的命令行工具,实现自动化。
 
Laravel安全功能有效地利用了盐散列和加密码机制,Bcrypt哈希算法”来创建加密密码。
 
五、框架的其他知识点
服务容器:是一个用于管理类依赖和执行依赖注入的强大工具。其实质是通过构造函数或者某些情况下通过「setter」方法将类依赖注入到类中。 
 
门面:为应用服务容器中的绑定类提供了一个「静态」接口 ,优点:在维护时能够提供更加易于测试、更加灵活、简明优雅的语法。
 
契约:用来规划服务提供者的格式、方法、参数等,给服务提供者规范了一定约束。
 
反射:主要用来动态地获取系统中类、实例对象、方法等语言构件的信息,通过发射API函数可以实现对这些语言构件信息的动态获取和动态操作等。主要用在ORM
 
后期静态绑定:用于在继承范围内引用静态调用的类,即在类的继承过程中,使用的类不再是当前类,而是调用的类。
 
六、生命周期
生命周期我是这样总结的:
入口文件 -> 请求web服务器导入这个文件  -> 载入 Composer 生成的自动加载启动核心文件 -> 内核启动(服务提供者启动框架的各种组件) -> 交给路由分发到到(控制器,中间件等)-> 逻辑处理   -> 返回结果
 
七、laravel框架运用到的repository模式的主要思想
建立一个数据操作代理层,把controller里的数据操作剥离出来,这样做有几个好处:
1 把数据处理逻辑分离使得代码更容易维护
2 数据处理逻辑和业务逻辑分离,可以对这两个代码分别进行测试
3 减少代码重复
4 降低代码出错的几率
5 让controller代码的可读性大大提高 

以上是本文的全部内容,希望对大家学习有帮助,也希望大家多多支持 磊丰的技术博客 感谢阅读!

站长磊丰学长
男,文化程度不高,性格有点犯二,爱好学习与分享,闲着没事喜欢研究各种代码,写写文章,潜水技术宅。
关注公众号:PHP自学中心
关注公众号:Go语言学习圈
学习与交流:程序员技术微信群

标签

网站工具箱