PHP调用类方法/函数

PHP调用类方法/函数,php,class,function,methods,Php,Class,Function,Methods,如何调用下面的类方法或函数 假设我从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);

如何调用下面的类方法或函数

假设我从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;
    }

}

谢谢。

如果要从其他页面调用,请为类创建对象并调用

$obj = new Functions();

$var = $obj->filter($_GET['params']);
$obj = new Functions();
$var = $obj->filter($_GET['params']);
或者在相同的类实例[方法]中,尝试以下操作

$var = $this->filter($_GET['params']);

您需要为
类创建
对象。

通过以下方式查看PHP手册中的一节:

 $instance = new Functions(); // create an instance (object) of functions class
 $instance->filter($data); // now call it

由于th函数根本没有使用
$this
,您可以在public之后添加
static
关键字,然后调用

Functions::filter($_GET['params']);

避免仅为一个方法调用在类中创建对象,您可以使用以下方法调用函数:

 $this->filter();
课外

必须创建类的对象

 ex: $obj = new Functions();

     $obj->filter($param);    
有关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();

希望这会有帮助

要回答您的问题,当前的方法是创建对象,然后调用该方法:

$functions = new Functions();
$var = $functions->filter($_GET['params']);
另一种方法是使方法
静态
,因为类没有可依赖的私有数据:

public static function filter($data){
这可以这样称为:

$var = Functions::filter($_GET['params']);
最后,您不需要类,只需要包含一个函数文件。因此,您删除了方法中的
类函数
公共函数
。然后可以像您尝试过的那样调用:

$var = filter($_GET['params']);

small quibble,
$this
的用法必须在对象内,而不是在页面内。@dnagirl small(er)quibble:this
的用法必须在对象的实例方法内,而不仅仅是在对象中的任何地方(即不是静态的,也不是在方法体之外)@colimoreli:minicle quibble:这就是为什么我说“对象”而不是“类”。;)但清晰性很好,你完全正确。@dnagirl一点也不狡辩:Touche。但我仍然看到人们尝试了整个过程:
private$property=$this->getPropertyValue()
在他们的类的顶部声明,并想知道为什么它不起作用:)。无论如何-我真的想指出一些比你指出的更小的东西…为了好玩。Sandip,没有一个实例,他也不能用$this在类中引用它。如果你的
函数::过滤器()是您打算使用的代码,请注意PHP MySqL**扩展已被弃用。使用MyQuiLy*或Pdoy*,并强烈考虑使用准备好的语句(这将排除您的函数的需要)。不要随意“过滤”。“数据。你只是把你的数据完全弄乱了。首先了解您在这里尝试做什么:
$var = filter($_GET['params']);