资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

代码审计-7ThinkPHP框架代码审计1-创新互联

文章目录
  • ThinkPHP框架目录
        • 系统变量对应的路径
        • 开启调试模式
  • 页面介绍
  • 数据库操作介绍
  • URL和路由访问
  • URL访问
  • 自定义路由
  • 请求和响应
        • 传统调用方式
        • 继承think\Controller
        • 自动注入请求对象
  • 获取请求变量
  • 数据库操作

主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、成都响应式网站建设、程序开发、微网站、微信平台小程序开发等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的成都网站设计、做网站、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体,具备承接不同规模与类型的建设项目的能力。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进行查找操作
在这里插入图片描述

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


文章标题:代码审计-7ThinkPHP框架代码审计1-创新互联
本文路径:http://cdkjz.cn/article/dposoo.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220