Est-il possible d'appeler la fonction d'une class dans une fonction n'appartenant pas à cette class ? Merci.
Si tu veux accéder à une méthode de class directement dans ton fonction tu peux faire comme ça
//ta fonction qui n'appartient à aucune class
function maFonction()
{
//tu créer un instance de ta class
$class = new Class();
//tu appelles ta méthode
$resultat = $class->maMethode();
}
Si tu veux récuperer l'instance ou le résultat
//un endroit dans ton code
$resultat = $class->iptc($url, $code);
//ta fonction
function maFonction()
{
global $resultat;
//OU
global $class;
$resultat = $class->iptc($url, $code);
}
Si tu dois uniquement passer le résultat le mieux c'est de faire
//ta fonction
function maFonction($resultat)
{
//ton code
}
//un endroit dans ton code
$resultat = $class->iptc($url, $code);
$newResultat = maFonction($resultat);
oui en lui passant l'instance de la class où il y a la fonction ou avec un extends suivant ce que vous désirez.
extends ne me semble pas adapaté car je ne souhaite pas passé ma fonction de classe dans une autre classe...
Tu peux créer une instance de ta class directement dans ta méthode exemple :
class MaClass
{
public function MaMethode()
{
$autreClass = new AutreClass();
$autreClass->autreMethode();
}
}
ou la solution de @Carouge10
class MaClass
{
public function MaMethode(AutreClass $autreClass)
{
$autreClass->autreMethode();
}
}
//ailleurs dans ton code
$maClass = new MaClass();
$autreClass = new AutreClass();
$maClass->MaMethode($autreClass);
Je ne veux pas passé de fonction de class dans une autre class, mais dans une fonction n'appartenant à aucune classe.
Bonsoir,
tu peux créer un fichier avec ta fonction ("fonction.php" par exemple)
<?php
function fonction() {
// Fait des truc
}
et il te suffit de faire un
include 'fonction.php';
Ok Carouge, je crois comprendre. Corrige moi si je me trompe. J'ai affecté une variable à ma fonction de classe :
$newvaleur = $result->iptc($url, $code);
Ensuite :
global $newvaleur;
dans ma fonction, c'est ça l'idée ?