代码审计-7ThinkPHP框架代码审计1-创新互联
- ThinkPHP框架目录
- 系统变量对应的路径
- 开启调试模式
- 页面介绍
- 数据库操作介绍
- URL和路由访问
- URL访问
- 自定义路由
- 请求和响应
- 传统调用方式
- 继承think\Controller
- 自动注入请求对象
- 获取请求变量
- 数据库操作
applocation:此目录为应用目录,网站主要的文件控制器都放在`applocation`目录下
view:此目录在applocation下,为视图层
extend:为扩展类库目录
public:为网站对外访问目录,也就是外部访问网站的入口文件
runtime:为运行时的目录
thinkphp:为框架的核心目录
vendor:为第三方类库目录
build.php:用于自动生成定义文件
其中比较重要的为applocation
和thinkphp
,extend
application
下config.php
文件下修改app_debug
为true
此处路径对应为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
函数将页面渲染展示
这三个index
分别为index模块
下的application
中的index控制器
下的index方法
当使用驼峰命名法时,HelloWorld.php
在url
中需要通过特殊的书写方式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
当继承了Controller
时,可以不用实例化,直接调用request类
中的url()
方法
相当于在定义函数的时候,在参数中就进行了实例化的操作
param()
自动接收POST
,GET
等方式传入的值
第一个参数为要赋值的变量,第二个参数为默认值,第三个参数为过滤方法
get()
或者post()
:指定获取get
或者post
方式提交参数
助手函数input()
get.user
为接收get
方式传递的user
中的值
也可以接收post
、cookie
、file
等方式的值
use
导入数据库的类文件Db::name
设置要查询的表名为data
,where
设置查询的条件为id=1
,find
进行查找操作
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
新闻标题:代码审计-7ThinkPHP框架代码审计1-创新互联
文章来源:http://azwzsj.com/article/dposoo.html