con*_*men 13 php methods class function
如何调用以下类方法或函数?
让我说这个params来自url:
$var = filter($_GET['params']);
Run Code Online (Sandbox Code Playgroud)
类:
class Functions{
public function filter($data){
$data = trim(htmlentities(strip_tags($data)));
if(get_magic_quotes_gpc())
$data = stripslashes($data);
$data = mysql_real_escape_string($data);
return $data;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
小智 25
要回答你的问题,当前的方法是创建对象然后调用方法:
$functions = new Functions();
$var = $functions->filter($_GET['params']);
Run Code Online (Sandbox Code Playgroud)
另一种方法是制作该方法,static因为该类没有可依赖的私有数据:
public static function filter($data){
Run Code Online (Sandbox Code Playgroud)
然后可以这样调用:
$var = Functions::filter($_GET['params']);
Run Code Online (Sandbox Code Playgroud)
最后,您不需要一个类,只能拥有一个包含的函数文件.所以你删除了方法中的class Functions和public.然后可以像您尝试的那样调用它:
$var = filter($_GET['params']);
Run Code Online (Sandbox Code Playgroud)
在类中,您可以使用以下方式调用函数:
$this->filter();
Run Code Online (Sandbox Code Playgroud)
课外
你必须创建一个类的对象
ex: $obj = new Functions();
$obj->filter($param);
Run Code Online (Sandbox Code Playgroud)
有关php 中的OOP 的更多信息
这个例子:
class test {
public function newTest(){
$this->bigTest();// we don't need to create an object we can call simply using $this
$this->smallTest();
}
private function bigTest(){
//Big Test Here
}
private function smallTest(){
//Small Test Here
}
public function scoreTest(){
//Scoring code here;
}
}
$testObject = new test();
$testObject->newTest();
$testObject->scoreTest();
Run Code Online (Sandbox Code Playgroud)
希望它会有所帮助!