如何调用以下类方法或函数?
让我说这个params来自url:
$var = filter($_GET['params']);
类别:
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;
}
}
感谢。
答案 0 :(得分:24)
要回答您的问题,当前的方法是创建对象,然后调用方法:
$functions = new Functions();
$var = $functions->filter($_GET['params']);
另一种方法是创建方法static
,因为类没有可依赖的私有数据:
public static function filter($data){
然后可以这样调用:
$var = Functions::filter($_GET['params']);
最后,您不需要一个类,只能拥有一个包含的函数文件。因此,您删除了方法中的class Functions
和public
。然后可以像您尝试的那样调用它:
$var = filter($_GET['params']);
答案 1 :(得分:3)
在课程中,您可以使用以下方法调用函数:
$this->filter();
课外
你必须创建一个类的对象
ex: $obj = new Functions();
$obj->filter($param);
for php
中的更多about OOPs这个示例:
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();
希望它会有所帮助!
答案 2 :(得分:2)
为类创建对象并调用,如果要从其他页面调用它。
$obj = new Functions();
$var = $obj->filter($_GET['params']);
或者在同一个类实例[方法]中,试试这个。
$var = $this->filter($_GET['params']);
答案 3 :(得分:1)
$f = new Functions;
$var = $f->filter($_GET['params']);
上的PHP手册部分
答案 4 :(得分:1)
由于该功能完全没有使用$this
,您可以在公开后添加static
关键字然后调用
Functions::filter($_GET['params']);
避免仅为一次方法调用创建对象
答案 5 :(得分:0)
您需要为Object
class.
$obj = new Functions();
$var = $obj->filter($_GET['params']);
答案 6 :(得分:0)
这样:
$instance = new Functions(); // create an instance (object) of functions class
$instance->filter($data); // now call it