代码审计-7 ThinkPHP框架代码审计 1

ThinkPHP框架目录

applocation:此目录为应用目录,网站主要的文件控制器都放在`applocation`目录下
view:此目录在applocation下,为视图层
extend:为扩展类库目录
public:为网站对外访问目录,也就是外部访问网站的入口文件
runtime:为运行时的目录
thinkphp:为框架的核心目录
vendor:为第三方类库目录
build.php:用于自动生成定义文件

其中比较重要的为applocationthinkphp,extend
在这里插入图片描述

系统变量对应的路径

在这里插入图片描述

开启调试模式

applicationconfig.php文件下修改app_debugtrue

此处路径对应为application下的index文件下的controller控制器下的index.php中的hello方法
在这里插入图片描述

页面介绍

use:导入,导入think\Controller后使用可直接使用其中的方法不加路径
namespace:命名空间 
assing:第一个参数为页面中需要展示的参数,第二个参数为传入的参数 
fetch:用于渲染模板文件输出

在这里插入图片描述
当访问此url时,会去访问路径application/index/controller/index.php下的word函数,将abc作为参数传入name
在这里插入图片描述
在这里插入图片描述此时调用了word函数,将abc作为值赋值给变量$name,通过assing()$name中的值设置为页面view/index/word.html中需要展示的参数的值,fetch()对页面进行渲染展示

在这里插入图片描述

数据库操作介绍

use think\Db导入thinkphp中自定义的操作数据库的方法
定义函数
设置Db文件中的name值为字符串user,在Db文件name变量是用来存储表名的
执行Db文件中的find方法,来根据表名查询数据,查询出来的结果作为数组赋值给变量$data
将查询出来的数组通过assign函数设置为页面需要展示的参数
fetch函数将页面渲染展示
在这里插入图片描述
在这里插入图片描述

URL和路由访问

在这里插入图片描述

URL访问

这三个index分别为index模块下的application中的index控制器下的index方法

当使用驼峰命名法时,HelloWorld.phpurl中需要通过特殊的书写方式hello_world去访问
在这里插入图片描述
url中将HelloWorld替换为hello_world
在这里插入图片描述

自定义路由

当正常请求的url太长了,可设置自定义路由
路由配置文件在route.php

此路由意思为,当访问hello时路由自动转换为index/index/hello,并且hello后需添加一个参数赋值给name

设置完自定义路由后原来的路由就会被代替,无法使用,并且如果route.php下自定义路由中的参数加了中括号时,url访问时就可以不带参数
在这里插入图片描述

此处就相当于加载了application/index/controller/index.php中的hello方法,并传入abc为参数赋值给变量name

在这里插入图片描述

请求和响应

在这里插入图片描述use think\Request导入Request
instance():实例化一个类
url():获取当前url

传统调用方式

use导入Request后通过instance函数Request实例化一个对象给$request,然后调用$requet中的url方法获取当前url
在这里插入图片描述

继承think\Controller

当继承了Controller时,可以不用实例化,直接调用request类中的url()方法
在这里插入图片描述

自动注入请求对象

相当于在定义函数的时候,在参数中就进行了实例化的操作
在这里插入图片描述

获取请求变量

在这里插入图片描述在这里插入图片描述

param()自动接收POSTGET等方式传入的值
第一个参数为要赋值的变量,第二个参数为默认值,第三个参数为过滤方法

在这里插入图片描述在这里插入图片描述
get()或者post():指定获取get或者post方式提交参数

在这里插入图片描述
助手函数input()
get.user为接收get方式传递的user中的值
也可以接收postcookiefile等方式的值

在这里插入图片描述

数据库操作

use导入数据库的类文件
Db::name设置要查询的表名为datawhere设置查询的条件为id=1find进行查找操作
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值