Fonction et ligne

Mammouth du PHP | 1668 Messages

14 juin 2008, 16:49

Bonjour à toutes et tous,
J'aimerais connaitre le numéreau de la ligne à laquelle ma fonction à été appelé
<?php
function dire_ligne($ligne_envoie, $ligne_appelee=__LINE__){
    echo 'Ligne insérée : '.$ligne_envoie.' - Ligne insérée (par défaut) : '.$ligne_appelee;
}
dire_ligne(5);
// Donne : Ligne insérée : 5 - Ligne insérée (par défaut) : 2
?>
J'ai tenté ça, mais, je voudrais que ça donne ce résultat
Ligne insérée : 5 - Ligne insérée (par défaut) : 5

Quelqu'un aurait une idée ?

Merci par avance de vos réponses :roll:
Modifié en dernier par katagoto le 14 juin 2008, 18:41, modifié 1 fois.
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

14 juin 2008, 17:43

J'ai tenté ça, mais, je voudrais que ça donne ce résultat
Ligne insérée : 5 - Ligne insérée (par défaut) : 2
// Donne : Ligne insérée : 5 - Ligne insérée (par défaut) : 2
Ben ça marche non ?

Mammouth du PHP | 1668 Messages

14 juin 2008, 18:42

:oops: :oops: :oops: :oops: :oops:
Grosse erreur de copier/coller, je veux que ça m'affiche 5
:oops: :oops: :oops: :oops: :oops:
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

Eléphant du PHP | 185 Messages

14 juin 2008, 21:41

Je crois que tu n'as pas d'autres solution que de passer par debug_backtrace()...

Mammouth du PHP | 1668 Messages

15 juin 2008, 10:40

Merci, ça marche au poil
<?php
function parle(){
    $contexte=debug_backtrace();
	$retourne=$contexte[0]["line"];
	echo "Ligne d'appel :".$retourne;
}

parle();
// Affiche : Ligne d'appel : 8
?>
Merci :roll:
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol