thinkPHP框架

1.ThinkPHP中的MVC分层是什么?(理解)

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

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

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

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

2. ThinkPHP如何防止SQL注入?

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

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

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

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

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

3. TP中支持哪些配置模式?优先级?

ThinkPHP提供了灵活的全局配置功能,采用最有效率的PHP返回数组方式定义

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

以上是配置文件的加载顺序,因为后面的配置会覆盖之前的同名配置(在没有生效的前提下),所以优先顺序从右到左。

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

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

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

5.如何理解TP中的单一入口文件?

ThinkPHP采用单一入口模式进行项目部署和访问,无论完成什么功能,一个项目都有一个统一(但不一定是唯一)的入口

  获取系统变量的方法:

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

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

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

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

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

8.如何理解 ThinkPHP 3.0 架构(核心 + 行为 + 驱动)中的行为?

  答:核心 + 行为 + 驱动

   TP官方简称为:CBD

  核心(Core):就是框架的核心代码,不可缺少的东西,TP本身是基于MVC思想开发的框架。

  行为(Behavior) :行为在新版ThinkPHP的架构里面起着举足轻重的作用,在系统核心之上,设置了很多标签扩展位,而每个标签位置可以依次执行各自的独立行为。行为扩展就因此而诞生了,而且很多系统功能也是通过内置的行为扩展完成的,所有行为扩展都是可替换和增加的,由此形成了底层框架可组装的基础。

  驱动( Driver ):数据库驱动、缓存驱动、标签库驱动和模板引擎驱动,以及外置的类扩展。

  框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值