PHP调用类方法/函数

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 Functionspublic.然后可以像您尝试的那样调用它:

$var = filter($_GET['params']);
Run Code Online (Sandbox Code Playgroud)

  • 不要鼓励他 (7认同)

san*_*dip 5

在类中,您可以使用以下方式调用函数:

 $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)

希望它会有所帮助!