• 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
没有结果
查看所有结果

[避坑指南] Laravel知多少(👤个人总结)

Mr.Lee 由 Mr.Lee
2022年3月19日
在 Laravel, 资料
0
laravel

laravel

0
分享
30
浏览

面试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代码的可读性大大提高 

还有其他的,大家可以留言做总结哈!

以上是本文的全部内容,希望对大家的学习有帮助,觉得有用,有需要就支持一下吧

标签: laravellaravel知多少个人总结避坑指南
上一篇文章

LaravelV8.6.10

下一篇文章

[资料]常用linux命令

下一篇文章
Linux(三) 搭建 LAMP SSH、FTP、SCP、Rmp&Yum、挂载、阿里云、常用命令、关闭指定软件

[资料]常用linux命令

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Search

没有结果
查看所有结果

About Me

个人随笔

Winston Lee

Programmer

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Winston Lee

About Me

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Categories

  • AJAX
  • BootStrap
  • CodeIgniter
  • CSS
  • DedeCMS
  • GIT
  • HTML
  • Javascript
  • Jquery
  • Laravel
  • Laravel在线教育平台
  • Linux
  • Memcache
  • MongoDB
  • MVC
  • Mysql
  • Nginx
  • Node
  • PDO
  • PHP
  • PHP7
  • PHP基本语法
  • PHP核心编程
  • Redis
  • Smarty
  • Socket
  • SVN
  • Swoole
  • TP3.2
  • TP3.2商城
  • TP5.0
  • TP5.0商城
  • XML
  • Yaf
  • Yii
  • Yii手机直播
  • 二次开发
  • 优化方案
  • 前端技术
  • 前端框架
  • 后台框架
  • 基本操作
  • 微信公众号
  • 数据库
  • 未分类
  • 混合APP
  • 源码Blog项目
  • 版本控制
  • 环境搭建
  • 移动端开发
  • 网站优化
  • 资料
  • 面向对象
  • 面向对象编程
  • 页面静态化

Tags

DOM Json RBAC 事件 传参 函数 分页 判断语句 匿名函数 变量 图片上传 存储过程 安装 对象 封装 属性 接口 控制器 数据库操作 数据类型 数据表 数组 文件上传 无刷新分页 权限 标签 模型 正则 流程控制 目录结构 算法 类 索引 继承 缩略图 表关系 视图 路由 运算符 选择器 递归 配置 错误处理 页面静态化 验证码
  • 首页
  • 前端
  • 前端框架
  • PHP
  • 数据库
  • 优化
  • 后台框架与实战
  • 移动开发
  • 二次开发
  • Linux
  • 版本控制
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3

没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3