【发布时间】:2014-01-25 05:36:06
【问题描述】:
我尝试创建一个名为 Isolate 的类的新对象(该类用于防止 XSS 和其他通过 htmlspecialchars 等进行的攻击)。
所以,我这样做:
$data['name'] = $_POST['name'];
$data = $isolate->isolateArr($data);
我的 Isolate 类看起来像这样:
class Isolate {
public function isolate($var) {
$iVar = htmlspecialchars($var);
$iVar = mysql_real_escape_string($iVar);
$iVar = stripcslashes($iVar);
return $iVar;
}
public function isolateArr($arr) {
foreach($arr as &$instance) {
$instance = $this->isolate($instance);
}
unset($instance);
return $arr;
}
但结果我收到了类似Missing argument 1 for Isolate 的警告。据我了解,它要求我提供第一个函数的参数,但我不需要调用第一个函数,我需要调用第二个函数(因为在这种情况下我有一个数组)。
那么,为什么它总是要求第一个函数参数?没有任何__construct 方法,有什么意义?
提前谢谢你!
【问题讨论】:
标签: php class oop methods constructor