我怎么能叫下面的类方法或功能?
让说我有这个PARAMS从以下网址获得:
$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;
}
}
谢谢。
要回答你的问题,目前的方法是创建然后调用对象的方法:
$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']);
在类可以使用通话功能:
$this->filter();
外班的
你必须创建一个类的对象
ex: $obj = new Functions();
$obj->filter($param);
更多关于OOPS在PHP
下面这个例子:
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();
希望这将有助于!
为类创建对象并调用,如果你想从其他网页调用它。
$obj = new Functions();
$var = $obj->filter($_GET['params']);
或同一类的实例[方法]里面,试试这个。
$var = $this->filter($_GET['params']);
$f = new Functions;
$var = $f->filter($_GET['params']);
看一看在PHP手册中的面向对象编程
为TH功能不使用$this
在所有的,你可以添加一个static
关键字刚过公众,然后调用
Functions::filter($_GET['params']);
避免了对象的创建只是一个方法调用
您需要创建Object
的class.
$obj = new Functions();
$var = $obj->filter($_GET['params']);
这条路:
$instance = new Functions(); // create an instance (object) of functions class
$instance->filter($data); // now call it