欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php面试题中Thinkphp题目的汇总

程序员文章站 2022-03-11 23:28:54
...
在最近几年中当我们每次去一家公司求职的时候,面试官给过我们出的php面试题中都会出现关于thinkphp的题目,因为thinkp在最近几年的受到了很多公司以及程序员的青睐,那么我们今天就给大家总结下在php面试题中经常遇到的thinkphp题目、希望对你有所帮助!

Thinkphp题目:

1、常见的PHP框架

答:thinkPHP

yii

ZendFramework

CakePhp

sy

相关专题推荐:2020年thinkphp面试题及答案(大全)

2、如何理解TP中的单一入口文件?

答:ThinkPHP采用单一入口模式进行项目部署和访问,无论完成什么功能,一个项目都有一个统一(但不一定是唯一)的入口。应该说,所有项目都是从入口文件开始的,并且所有的项目的入口文件是类似的,入口文件中主要包括:

定义框架路径、项目路径和项目名称(可选)

定义调试模式和运行模式的相关常量(可选)

载入框架入口文件(必须)

3、ThinkPHP中的MVC分层是什么?(理解)

答:MVC 是一种将应用程序的逻辑层和表现层进行分离的方法。ThinkPHP 也是基于MVC设计模式的。MVC只是一个抽象的概念,并没有特别明确的规定,ThinkPHP中的MVC分层大致体现在:

模型(M):模型的定义由Model类来完成。

控制器(C):应用控制器(核心控制器App类)和Action控制器都承担了控制器的角色,Action控制器完成业务过程控制,而应用控制器负责调度控制。

视图(V):由View类和模板文件组成,模板做到了100%分离,可以独立预览和制作。

但实际上,ThinkPHP并不依赖M或者V ,也就是说没有模型或者视图也一样可以工作。甚至也不依赖C,这是因为ThinkPHP在Action之上还有一个总控制器,即App控制器,负责应用的总调度。在没有C的情况下,必然存在视图V,否则就不再是一个完整的应用。

总而言之,ThinkPHP的MVC模式只是提供了一种敏捷开发的手段,而不是拘泥于MVC本身。

4.ThinkPHP如何防止SQL注入?(理解)

答:(1)查询条件尽量使用数组方式,这是更为安全的方式;

(2)如果不得已必须使用字符串查询条件,使用预处理机制;

(3)开启数据字段类型验证,可以对数值数据类型做强制转换;(3.1版本开始已经强制进行字段类型验证了)

(4)使用自动验证和自动完成机制进行针对应用的自定义过滤;

(5)使用字段类型检查、自动验证和自动完成机制等避免恶意数据的输入。

5.如何开启调试模式?调试模式有什么好处?

答:开启调试模式很简单,只需要在入口文件中增加一行常量定义代码:

<?Php,bv
    //开启调试模式
    define('APP_DEBUG', true);
    //加载框架入口文件
    require './ThinkPHP/ThinkPHP.php';

在完成开发阶段部署到生产环境后,只需要删除调试模式定义代码即可切换到部署模式。开启调试模式后,系统会首先加载系统默认的调试配置文件,然后加载项目的调试配置文件,调试模式的优势在于:

开启日志记录,任何错误信息和调试信息都会详细记录,便于调试;

关闭模板缓存,模板修改可以即时生效;

记录SQL日志,方便分析SQL;

关闭字段缓存,数据表字段修改不受缓存影响;

严格检查文件大小写(即使是Windows平台),帮助你提前发现Linux部署问题;

可以方便用于开发过程的不同阶段,包括开发、测试和演示等任何需要的情况,不同的应用模式可以配置独立的项目配置文件。


6.TP中的URL模式有哪几种?默认是哪种?

答:ThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义,包括普通模式、PATHINFO、REWRITE和兼容模式。

默认模式为:PATHINFO模式,设置URL_MODEL 为1

7、TP中系统变量有哪些?如何获取系统变量?

答:获取系统变量的方法:

只需要在Action中调用下面方法:

$this->方法名("变量名",["过滤方法"],["默认值"])

8、ThinkPHP框架中D函数与M函数的区别是什么?

答:M方法实例化模型无需用户为每个数据表定义模型类,D方法可以自动检测模型类,如果存在自定义的模型类,则实例化自定义模型类,如果不存在,则会自动调用M方法去实例化Model基类。同时对于已实例化过的模型,不会重复去实例化(单例模式)。

总结:

在php面试题中还有关于很多的thinkphp的题目、在这里我们就不一一列举出来了,这给大家介绍的是在面试中比较常被问的thinkphp题目!

相关推荐:

  1. 2017最全的php面试题目及答案总结

  2. 2017招聘季:PHP面试题超强总结!

  3. 11个提问频率最高的php面试题

以上就是php面试题中Thinkphp题目的汇总的详细内容,更多请关注其它相关文章!