| 比如面向过程的写法 。=以帝国为例 $this->ehtmlspecialchars($val, ENT_QUOTES)这里调用了 ehtmlspecialchars 方法,这个方法可能是自定义的,从代码中使用 $this 来看,它是一个类的成员方法。那如果是帝国这样面向过程的直接函数不是更好吗?ehtmlspecialchars($val, ENT_QUOTES)。这样不仅仅更方便草根理解还不用重点去研究类里面的函数。复制代码    /*** 日志* @param array $info*/    private function debug(array $info){    $time = date('Y-m-d H:i:s');    array_unshift($info, $time);    $info = array_map('json_encode', $info);    file_put_contents(self::LOG_PATH . 'websocket_debug.log', implode(' | ', $info) . "\r\n", FILE_APPEND);    }        //增加adds        private function AddAddsData($data){        if(!MAGIC_QUOTES_GPC){    $data=addslashes($data);        }        return $data;    }        //处理编码字符        private function CkPostStrChar($val){        if(substr($val,-1)==""){        $this->shutdownServer();//强制断开所有链接        }    }        //验证编码字符        private function CkPostStrCharYh($val){        if($val!=addslashes($val)){        exit(0);        }        return $val;    }        //htmlspecialchars处理        private function ehtmlspecialchars($val,$flags=ENT_COMPAT){        if(PHP_VERSION>='5.4.0'){        $val=htmlspecialchars($val,$flags,'UTF-8');        }else{        $val=htmlspecialchars($val,$flags);        }        return $val;    }        //入库处理提交字符        private function RepPostStr($val,$ecms = 0, $phck = 0){        if($phck==1){        $this->CkPostStrCharYh($val);        }        $val=$this->ehtmlspecialchars($val,ENT_QUOTES);        if($ecms==0){        $this->CkPostStrChar($val);        $val=$this->AddAddsData($val);        $this->FWClearGetText($val);//触发防火墙        }        return $val;    }        //入库处理提交字符2        private function RepPostStr2($val, $phck = 0){        if($phck==1){        $this->CkPostStrCharYh($val);        }        $this->CkPostStrChar($val);        $val=$this->AddAddsData($val);        $this->FWClearGetText($val);//触发防火墙        return $val;    }        //参数处理函数默认    private function RepPostVar($val){                if($val!=addslashes($val)){        return'';  // 结束函数执行        }        $this->CkPostStrChar($val);        $val=str_replace("%","",$val);        $val=str_replace(" ","",$val);        $val=str_replace("`","",$val);        $val=str_replace("\t","",$val);        $val=str_replace("%20","",$val);        $val=str_replace("%27","",$val);        $val=str_replace("*","",$val);        $val=str_replace("'","",$val);        $val=str_replace(""","",$val);        $val=str_replace("/","",$val);        $val=str_replace(";","",$val);        $val=str_replace("#","",$val);        $val=str_replace("--","",$val);        $val=$this->RepPostStr($val,1);        $val=addslashes($val);        $this->FWClearGetText($val);//触发防火墙        return $val;    }    //参数处理函数2    public function RepPostVar2($val){        if($val!=addslashes($val)){        $this->shutdownServer();//强制断开所有链接        }    $this->CkPostStrChar($val);        $val=str_replace("%","",$val);        $val=str_replace("`","",$val);        $val=str_replace("\t","",$val);        $val=str_replace("%20","",$val);        $val=str_replace("%27","",$val);        $val=str_replace("*","",$val);        $val=str_replace("'","",$val);        $val=str_replace(""","",$val);        $val=str_replace("/","",$val);        $val=str_replace(";","",$val);        $val=str_replace("#","",$val);        $val=str_replace("--","",$val);        $val=$this->RepPostStr($val,1);        $val=addslashes($val);        $this->FWClearGetText($val);//触发防火墙        return $val;    }
 |