返回顶部
首页 > 资讯 > 精选 >Laravel框架的核心架构是什么
  • 613
分享到

Laravel框架的核心架构是什么

2023-06-06 11:06:55 613人浏览 独家记忆
摘要

这篇文章主要介绍Laravel框架的核心架构是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 使用过larave框架的朋友都知道laravel框架里面除了提供一些基本的功能(如控制器、视图、模型)之外,还有中间件

这篇文章主要介绍Laravel框架的核心架构是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!


使用过larave框架的朋友都知道laravel框架里面除了提供一些基本的功能(如控制器、视图、模型)之外,还有中间件、门面、契约等,这些东西是如何在laravel框架运用起来的呢?今天就和大家详聊一下。

首先应该了解laravel框架的架构模式(设计核心,laravel 框架是使用服务组件化的开发模式开发的,laravel框架就是由不同的服务组件构成的)

laravel 里面多个服务提供者构成了laravel组件。分层设计:把相同功能的类库放在同一个文件夹里面。
laravel框架有多个类组成服务,由多个服务组成组件。类  -> 服务  ->  组件
laravel使用组件化的开发模式,多个类 -> 服务 -> 组件,多个类组成服务,多个服务构成组件

多个组件提供不同的服务,然后多个服务构成我们的项目

请求生命周期
大概的流程如图:
Laravel框架的核心架构是什么

理论上,生命周期主要有这么些阶段,但其中,开发者大多数只需关注路由、中间件、控制器、闭包函数、逻辑处理等几步
当然,每一步的内部,还是会有更多细化的执行流程,在这里,一般不深入研究框架或改造框架,很少会细化研究,但研究底层,依旧是学习的好选择。

服务
说的就是提供给你所需要的东西,在laravel里面所提供的服务有 认证服务、数据库服务、缓存服务、队列服务等等。laravel框架所有服务都定义在了app/config/app.PHP 里面


服务提供者
可以给你提供一组服务的东西就是服务提供者,laravel里面如上所示其实定义的服务器提供者,比如IlluminateAuthAuthServiceProvider::class,提供认证服务的服务提供者。IlluminateCacheCacheServiceProvider::class,提供缓存服务的服务提供者

好处:开发者可以节省下更多的精力去处理项目逻辑,且不同开发个体之间能达到一定默契,最重要的是,项目达到分层解耦,业务逻辑只依赖于服务,并不依赖于服务底层的实现。
解耦之后,我们可以任意升级或自定义服务的底层实现,只要确保底层类实现了该服务

总结:其实服务是一个抽象的概念,服务器提供者是完成这个抽象概念的具体实施者

服务容器
把所有的服务放在一个盒子里,存放服务的容器。laravel里面的服务容器位于

vendor/laravel/frameworksrcilluminateContainerContainer.php.

Container.php  就是laravel框架的服务容器。

契约
用来规划服务提供者的格式、方法、参数等,给服务提供者规范了一定约束。所以在框架里面所有的契约都是接口,这样才能规范服务提供者。


门面
门面再一次展示了Laravel在设计上的优秀,它让Laravel变得更加灵活易扩展,那么它的概念是:
1 为开发者提供服务容器中服务的静态代理

2 它对服务访问方式做了补充,之前使用服务必须获取服务的实例,再调用服务的方法,但使用facade,就可以直接把服务当静态对象来调用了。

3 config/app.php中服务别名alias大多数都使用了facade

4 使用facade是有风险的,并不是用的越多越好,这在手册上有少量的介绍,但具体的,还是需要开发中去发现


laravel框架总体架构图
Laravel框架的核心架构是什么

如上图所示:laravel框架是由多个服务组件构成的 -> 服务提供者(最下面的不同的服务组件)。
FoundationApplication 用来创建服务提供者,创建好之后保存在ContainerContainer 的服务容器里面,交由他管理,Application 要继承 Container
为了约定服务提供者提供的服务,我们定义一个规范,这就是契约

对于我们的用户(最上面的用户)想使用laravel框架,必须通过控制器来使用(上面的Controller),使用laravel框架主要是使用laravel里面的服务提供者(上面的 new 服务),这样就是最传统的开发模式,和服务器容器没有直接关系,如果laravel这样设计的话,基本上和其他框架一样,没有任何优势。所以一般不怎么做。

由于有契约,契约是服提供者的接口,所以我们也可以直接使用契约,new 服务旁边的黄色线。使用契约用注入的方式,这样使用的不好之处是如果一个方法里面使用多个契约的话,我们就得注入多个契约,这样代码看起来不优雅。


于是laravel里面就出现了门面,门面的出现方便我们优雅的调用服务器提供者的类。由于每个服务提供者的类太长了如:

IlluminateCookieCookieServiceProvider::class,IlluminateDatabaseDatabaseServiceProvider::class,

所以又引出了别名,使用别名之后 简化了我们调用的服务提供者的类。

事件:laravel里面的模型里面的事件,比如用户对数据库操作时做的一个监听。对整个项目运行进行监听,有监听的动作。类似tp5里面的钩子和行为。
中间件:做用户的请求做一定的过滤。

以上是“Laravel框架的核心架构是什么”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Laravel框架的核心架构是什么

本文链接: https://lsjlt.com/news/246754.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Laravel框架的核心架构是什么
    这篇文章主要介绍Laravel框架的核心架构是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 使用过larave框架的朋友都知道laravel框架里面除了提供一些基本的功能(如控制器、视图、模型)之外,还有中间件...
    99+
    2023-06-06
  • hadoop框架结构核心是什么
    这篇文章主要为大家展示了“hadoop框架结构核心是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“hadoop框架结构核心是什么”这篇文章吧。图示:DKhadoop技术技术架构图hadoop...
    99+
    2023-06-02
  • Spring框架核心概念是什么
    这篇文章主要为大家展示了“Spring框架核心概念是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring框架核心概念是什么”这篇文章吧。1、Spring是什么简而言之,Spring是企...
    99+
    2023-06-29
  • Caffe框架的核心组件是什么
    Caffe框架的核心组件包括: Blob:Blob是Caffe框架中的数据结构,用于存储网络中的数据和梯度。 Layer:Laye...
    99+
    2024-03-11
    Caffe
  • Spring核心框架体系结构是怎样的
    Spring核心框架体系结构是怎么样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。很多人都在用spring开发java项目,...
    99+
    2024-04-02
  • Webpack框架的核心概念
    本篇内容主要讲解“Webpack框架的核心概念”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Webpack框架的核心概念”吧!webpack是什么webpack...
    99+
    2024-04-02
  • react底层的四大核心内容架构是什么
    今天小编给大家分享一下react底层的四大核心内容架构是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。react提供定义...
    99+
    2023-06-29
  • PHP核心架构有哪些
    这篇文章将为大家详细讲解有关PHP核心架构有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、Zend引擎Zend是PHP内核的一部分,完全用纯C实现,它将PHP代码翻译(词法、语法解析等一系列编译过...
    99+
    2023-06-15
  • Spring Cloud 的核心架构原理是怎么样的
    Spring Cloud 的核心架构原理是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。最近在补一些分布式系列的面试内容,提前几个月做做准备吧,你们懂的,也跟大家分享分...
    99+
    2023-06-19
  • Kubernetes架构设计与核心组件工作流是什么
    这篇文章主要讲解了“Kubernetes架构设计与核心组件工作流是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Kubernetes架构设计与核心组件工...
    99+
    2024-04-02
  • Spring框架核心概念小结
    目录1、Spring是什么2、Spring框架的优点是什么3、什么是SpringBeanSpringbean的不同作用域:4、SpringIoC容器有两种不同类型的容器:Applic...
    99+
    2024-04-02
  • php中laravel框架的作用是什么
    这期内容当中小编将会给大家带来有关php中laravel框架的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流...
    99+
    2023-06-14
  • Laravel框架安装的步骤是什么
    这篇文章主要介绍了Laravel框架安装的步骤是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Laravel框架安装的步骤是什么文章都会有所收获,下面我们一起来看看吧。一、环境要求在开始安装Laravel框...
    99+
    2023-07-05
  • laravel框架运行原理是什么
    Laravel框架的运行原理主要是基于MVC(模型-视图-控制器)架构模式。以下是Laravel框架的运行原理的基本步骤:1. 路由...
    99+
    2023-09-06
    laravel
  • Ajax核心框架函数有哪些
    这篇文章主要为大家展示了“Ajax核心框架函数有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ajax核心框架函数有哪些”这篇文章吧。 ...
    99+
    2024-04-02
  • PHP Laravel框架的索引方式是什么?
    PHP Laravel框架是一款流行的Web应用程序框架,它提供了一种灵活而又强大的开发方式,可以帮助开发者快速地构建出高质量的Web应用程序。在Laravel框架中,索引是一个非常重要的概念,它可以帮助我们快速地查找到我们需要的数据。那...
    99+
    2023-09-23
    laravel 索引 框架
  • php laravel框架的工作流程是什么
    PHP Laravel框架的工作流程如下: 路由:请求到达服务器后,Laravel会根据路由配置文件(routes/web.ph...
    99+
    2023-10-22
    php laravel
  • Hadoop(一)Hadoop核心架构与安装
    Hadoop是什么 大白话,Hadoop是个存储数据,计算数据的分布式框架。核心组件是HDFS、MapReduce、Yarn。 HDFS:分布式存储 MapReduce:分布式计算 Yarn:调度MapReduce 现在为止我们知道了HD...
    99+
    2017-10-13
    Hadoop(一)Hadoop核心架构与安装
  • laravel框架有什么特点
    这篇文章主要为大家展示了“laravel框架有什么特点”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“laravel框架有什么特点”这篇文章吧。laravel框架的特点:1、语法更富有表现力;2、...
    99+
    2023-06-22
  • 剖析Python的Twisted框架的核心特性
    一. reactor twisted的核心是reactor,而提到reactor不可避免的是同步/异步,阻塞/非阻塞,在Dave的第一章概念性介绍中,对同步/异步的界限有点模糊,关于同步/异步,阻塞/非阻塞...
    99+
    2022-06-04
    框架 特性 核心
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作