上一课大家已经随着福哥理解了用户要求的基本知识了,本日我们就来把这个用户要求工具的功能实现了。由于用户要求包含很多输入数据,我们须要对每一个数据进行实体化,也便是说为它们建立独立的实体工具。在PHP措辞里面这些输入数据都因此全局数组形式存在的,以是我们在建立这些实体工具的时候又可以利用相同的基类。基于这些剖析结果,福哥会建立这些数据工具给要求工具TFRequest调用。
代码TFVars
filter
privatefunctionfilter($value,bool$deFilter=false){if(!$deFilter){returnhtmlspecialchars($value);}else{returnhtmlspecialchars_decode($value);}}
get
publicfunctionget(string$key,bool$deFilter=false):string{if(isset($this->items[$key])){if(!$deFilter){return$this->items[$key];}else{return$this->filter($this->items[$key]);}}returnnull;}
set
publicfunctionset(string$key,string$value){if($this->readOnly){returnfalse;}$this->items[$key]=$this->filter($value);returntrue;}
TFGet
继续TFVars
TFPost
继续TFVars
TFServer
继续TFVars
TFCookie
继续TFVars
TFFiles
继续TFVars
TFRequest
属性
publicTFGet$get;publicTFPost$post;publicTFServer$server;publicTFCookie$cookie;publicTFSession$session;publicTFFiles$files;
讲解
TFVars
filter
这个方法会对输入变量进行htmlspecialchars处理,也便是说将分外字符转换成html实体,举例:在网页上显示“<”字符,就在网页里面写上“<”,而“>”字符对应的是“>”,后面这些以“&”开通并且以“;”结尾的符号便是html实体了。
这个方法除了可以将普通字符转换为html实体,也可以将html实体转换回普通字符。
get
这个方法可以将指定键对付的值返回回来。
set
这个方法可以对指定键的值进行覆盖,也便是说可以修正指定键的值。
TFGet
这个工具继续自TFVars,默认数据来自全局数组“$_GET”。
TFPost
这个工具继续自TFVars,默认数据来自全局数组“$_POST”。
TFServer
这个工具继续自TFVars,默认数据来自全局数组“$_SERVER”。
TFFiles
这个工具继续自TFVars,默认数据来自全局数组“$_FILES”。
TFRequest
属性
可以看到我们将前面建立的输入数据工具在TFRequest工具里面都设置了一个对付的属性对付它们的工具实例,也便是说通过这些属性就可以访问任何输入数据了。
之以是不提倡在代码里面直策应用“$_GET”和“$_POST”之类的全局数组,是由于这些输入数据库有可能会被故意无意地携带一些“威胁”,如果我们不将这些数据进行过滤处理就有可能被黑客利用通过这些输入数据对我们的系统进行攻击。
总结
本日福哥带着大家进一步实现了要求工具TFRequest的功能,为要求工具增加了六个输入数据的实体工具,通过这些实体工具,TFPHP的TFRequest就可以方便且安全地调用来自用户要求的输入数据了。
下一课我们会开始讲解关于相应工具TFResponse的功能,这个相应工具实现之后我们就可以开始动手开拓基于TFPHP框架的项目了。
P.S.福哥解释一下,童鞋们可能创造了,福哥并没有供应TFPHP各个模块里面的工具的全部代码,而是供应了紧张函数的代码,为什么不直接粘贴全部工具定义的代码呢?
这个是由于福哥出于一些安全考虑,避免麻烦不得已而为之。
TFPHP是童鞋们和福哥一块儿设计、一块儿敲代码敲出来的web框架,以是福哥今后发布TFPHP框架的时候一定是免费的。
但是这个TFPHP的所有权必须是我们的,只有我们对TFPHP有着所有权,我们才能担保它是免费的。
https://m.tongfu.net/home/35/blog/512869.html