搜索
首页php框架ThinkPHP常见ThinkPHP框架面试笔试问题及解答

常见ThinkPHP框架面试笔试问题及解答

Aug 10, 2020 pm 05:09 PM
thinkphp面试题

常见ThinkPHP框架面试笔试问题及解答

1、如何理解ThinkPHP中的单一入口文件?

ThinkPHP使用单一入口模式进行项目部署和访问,使用ThinkPHP框架,无论做什么项目,都会有一个唯一的入口文件,这个文件就是这个项目的起点,进入项目后,再进行其他操作。

一般的,入口文件都会包含三部分内容:

必须的:

    1.载入框架入口文件

可选的:

    2.定义框架路径、项目路径和项目名称

    3.定义调试模式、运行模式的相关常量

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

2、ThinkPHP中的MVC分层是什么

MVC设计思想是一种抽象的概念,核心是把应用程序的逻辑层和视图层分开。

ThinkPHP中用到MVC的大致体现在是:

模型(M):Model数据处理类;

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

视图(V):由View类和视图模板文件组成。

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

3、如何理解ThinkPHP架构(核心+行为+驱动(CBD))

核心:ThinkPHP的核心代码,MVC构架等等;

行为:ThinkPHP框架自带的一些方法、预留的一些拓展位置等;

驱动:ThinkPHP已构建好的数据库驱动、缓存驱动、标签库驱动、模板引擎驱动等等,以及一些外置拓展;在开发过程中,可以直接使用它的这些驱动,简单高效。

4、ThinkPHP如何防止SQL注入

ThinkPHP架构设计的时候,进行了一些防SQL注入的操作。

主要需要注意的地方有:

sql操作能用Array操作就用Array

必须用Sql语句进行操作时,对用户输入的内容进行预判;例如,数值类型强制转换、SQL关键字检查、正则表达式匹配等。

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

开启调试模式,只需要在入口文件中,载入框架入口文件语句之前,增加一行常量定义语句;

define("APP_DEBUG",true);

开启调试模式后,系统会自动开启以下内容:

操作日志、SQL日志等日志,任何的错误都会详细记录,便于调试;

关闭模板文件缓存,模板修改即时生效;

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

严格检查文件大小写等等

调试模式是一种在项目上线之前,开发、调试、演示等等场景下的一个便捷工具。

6、ThinkPHP中支持哪些配置模式?优先级是怎样的?

ThinkPHP在项目配置方面创建了自己都有的分层配置模式,优先顺序从右到左依次是:

    惯例配置->项目配置->调试配置->分组配置->拓展配置->动态配置

7、ThinkPHP中URL模式支持哪几种?

ThinkPHP支持4中URL模式,通过URL_MODEL参数进行配置修改,默认为PATHINFO模式,配置值0,1,2,3依次是:普通模式、PATHINFO模式、REWRITE模式和兼容模式

8、ThinkPHP中的系统变量有哪些?如何获取系统变量?

ThinkPHP中常用的系统变量包括:server、session、cookie、get、post、request

系统变量的输出必须使用$Think.作为前缀,比如:

$Think.server.php_self = $_SESSION['php_self']

9、ThinkPHP中M方法和D方法的区别(高频问题)

ThinkPHP中常用M和D两种方法来实例化数据模型类,区别是M方法直接实例化数据模型基类,D方法会检查一下是否有继承的模型类,如果没有的话,则功能和M方法一样,如果存在继承类,则实例化继承类。

相关学习推荐:thinkphp

以上是常见ThinkPHP框架面试笔试问题及解答的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:chinacion。如有侵权,请联系admin@php.cn删除

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能