当前位置: 首页 > news >正文

PHP框架面试题

目录

1、什么是PHP框架?

2、常见的PHP框架有哪些?

3、为什么要使用PHP框架?

4、什么是路由?PHP框架中的路由是如何实现的?

5.TP的特性有哪些?

6.laravel有那些特点?

7.TP框架和Laravel框架的区别

8.tp5和tp6区别

9、ThinkPHP5和ThinkPHP6的区别


1、什么是PHP框架?

PHP框架是一种提供了一套基础结构和工具的软件框架,用于简化和加速Web应用程序的开发。它提供了一种组织代码、处理请求和响应、数据库操作、模板引擎等常见功能的规范和实现。

2、常见的PHP框架有哪些?

常见的PHP框架有Laravel、Symfony、CodeIgniter、Yii、ThinkPHP、CakePHP等。

3、为什么要使用PHP框架?

使用PHP框架可以提高开发效率,减少重复性的工作,提供了一套标准化的开发规范和最佳实践。框架还提供了许多常用功能的封装,如数据库操作、路由、认证、缓存等,使开发过程更加简单和高效。

4、什么是路由?PHP框架中的路由是如何实现的?

路由是将URL请求映射到对应的处理逻辑的过程。在PHP框架中,路由通常通过配置文件或注解的方式定义,将URL与控制器和方法关联起来,使得请求可以正确地分发到对应的处理代码。

5.TP的特性有哪些?
1).多表查询非常方便,在model中几句代码就可以完成对多表的关联操作
2).融合了smarty模板,使前后台分离
3).支持多种缓存技术,尤其对memcache技术支持非常好
4).命名规范,模型,视图,控制器严格遵循命名规则,通过命名一一对应
5).支持多种url模式
6).内置ajax返回方法,包括xml,json,html等
7).支持应用扩展,类库扩展,驱动扩展等
6.laravel有那些特点?
回答一:1).强大的rest router:用简单的回调函数就可以调用,快速绑定controller和router
2).artisan:命令行工具,很多手动的工作都自动化
3).可继承的模板,简化view的开发和管理
4).blade模板:渲染速度更快
5).ORM操作数据库
6).migration:管理数据库和版本控制
7).测试功能也很强大
8).composer也是亮点回答二: laravel框架引入了门面,依赖注入,Ioc模式,以及各种各样的设计模式等
7.TP框架和Laravel框架的区别
1、提交数据的方式Laravel在提交表单时需要在表单中加入{csrf_field}来防止跨域攻击,而TP不会。2、路由Laravel必须先定义,再使用,路由文件为routes.php;TP在配置文件中开启路由后,路由格式是:'路由表达式' => '路由地址和参数'(使用路由的前提是URL支持phthinfo并且开启路由),路由可以使URL更符合SEO。3、渲染模版方式在Laravel框架里,使用return view()来渲染模版;而ThinkPHP里则使用了$this->display()的方式渲染模版。4、操作数据库方式都可以使用实例化(建立相对应的模型类)和DB:table('表名')来操作数据库,使用原生查询时不太相同,Laravel使用Db::操作('原生sql'),TP使用Db::query('原生sql')。5、条件判断语句书写方式Laravel框架里 if else判断语句和foreach语句 书写时必须以@if开头 以@endif结尾,如果没有则报语法错误,@foreach @endforeach同理。而TP框架则和PHP语法规则使用方式一致直接ifesle语句判断和foreach循环遍历6、中间件,Laravel特点,可以实现访问前后的处理,例如请求和返回,权限认证等;7、Laravel升级十分简易,而TP大版本的升级要重构代码。
8.tp5和tp6区别
目录结构异同
安装方式
tp6只能通过composer安装
类的加载方式
tp5采用自己的一套实现加载方式+composer部分加载方式
tp6采用composer类的加载方式
tp6使用严格模式而tp5没有使用
tp6支持更多的PSR规范(https://learnku.com/docs/psr)
组件独立 (tp6将orm独立出来)(模板引擎)
中间件改进
tp6开始使用了管道模式来实现中间件 比之间的版本实现更加简洁,有序
引入Filesystem组件
9、ThinkPHP5和ThinkPHP6的区别
1.目录结构异同
2.多应用需要装扩展
3.使用严格模式和更多prs规范
4.独立组件

 

http://www.lryc.cn/news/183350.html

相关文章:

  • 如何清理C盘
  • 计算机网络基础知识
  • Go语言面经进阶10问
  • 大厂真题:【DP】米哈游2023秋招-米小游与魔法少女-奇运
  • 后端面经学习自测(一)
  • win10、win11安装Ubuntu 22.04
  • golang gin框架1——简单案例以及api版本控制
  • Redisson—分布式对象
  • alsa pcm接口之在unix环境的传输方法
  • 小谈设计模式(20)—组合模式
  • sheng的学习笔记-【中文】【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第三周测验
  • 一文详解动态链表和静态链表的区别
  • [C国演义] 第十三章
  • <二>Qt斗地主游戏开发:过场动画的实现
  • 链式法则(Chain Rule)
  • AUTOSAR COM模块框架梳理
  • 详细介绍区块链之挖矿
  • 华为OD机试真题-路灯照明问题(Java/C++/Go/Python)
  • 嵌入式技术面试基本规则
  • osg实现自定义插件读取自定义格式的模型文件到场景
  • redis进阶
  • (一)正点原子STM32MP135移植——准备
  • Kotlin的关键字 lateinit 和 lazy
  • 阿里云服务器ECS详细介绍_云主机_服务器托管_弹性计算
  • 12、建立健全人员培训体系
  • 代码随想录算法训练营第五十九天 | 647. 回文子串 516.最长回文子序列
  • React Redux
  • StreamingLLM - 处理无限长度的输入
  • [Linux 命令] nm 详解
  • 好文学作品的鉴赏标准