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

发布时间:2024-06-15
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
上一个:普洱茶历史之从唐代的茶具看唐人茶事
下一个:南极人洗衣机故障代码E0

如何使用PLZ-5WH2系列保存测试数据?
公益诉讼勘查检测一体机-公益诉讼勘查检测一体机
罗斯蒙特涡街流量计的特点分析
悬铃木方翅网蝽怎么防治?
*的DeltaVision高分辨率活细胞成像系统
公司可以拒绝员工辞职吗
工伤保险应如何赔偿
家用台式计算机属于什么机,家用的台式计算机属于
吸财树的养殖方法和注意事项 浇水要注意
锻钢闸阀在油品顺序输送要具体对待