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.独立组件

 

你可能感兴趣的:(mysql,php,面试,php,开发语言,sql)