PHP调用类方法/函数
如何调用下面的类方法或函数 假设我从url获取以下参数: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);
$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']);