PHP appel de la méthode de Classe / fonction
Comment puis-je appeler la méthode ou la fonction de classe suivante?
disons que j'ai cette params obtenir à partir de l'url:
$var = filter($_GET['params']);
Classe:
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;
}
}
merci.
7 réponses
pour répondre À votre question, la méthode actuelle serait de créer l'objet, puis appeler la méthode:
$functions = new Functions();
$var = $functions->filter($_GET['params']);
une autre façon serait de faire la méthode static
depuis la classe n'a pas de données privées à s'appuyer sur:
public static function filter($data){
on peut alors l'appeler ainsi:
$var = Functions::filter($_GET['params']);
enfin, vous n'avez pas besoin d'une classe et pouvez simplement avoir un fichier de fonctions que vous incluez. Si vous supprimez l' class Functions
et public
dans la méthode. Cela peut alors être appelé comme vous essayé:
$var = filter($_GET['params']);
dans la classe vous pouvez appeler la fonction en utilisant:
$this->filter();
en dehors de la classe
vous devez créer un objet d'une classe
ex: $obj = new Functions();
$obj->filter($param);
pour plus d' à propos de OOPs en php
exemple:
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();
j'espère que ça aidera!
Créer un objet de la classe et de l'appeler, si vous voulez l'appeler à partir d'autres pages.
$obj = new Functions();
$var = $obj->filter($_GET['params']);
Ou à l'intérieur de la même classe d'instances [ méthodes ], essayez ceci.
$var = $this->filter($_GET['params']);
$f = new Functions;
$var = $f->filter($_GET['params']);
consultez la section du manuel PHP sur programmation Orientée Objet
car la fonction th n'utilise pas $this
Vous pouvez ajouter un static
mot-clé juste après public et ensuite appeler
Functions::filter($_GET['params']);
Éviter la création d'un objet juste pour un appel de la méthode
vous devez créer Object
pour les class.
$obj = new Functions();
$var = $obj->filter($_GET['params']);
comme Ceci:
$instance = new Functions(); // create an instance (object) of functions class
$instance->filter($data); // now call it