Bonjour, j'ai un petit problème avec la pile d'appel, je n'arrive pas à récupérer une ligne spécifique.
Dans cette configuration :
...j'aimerais récupérer la ligne B::doSomething() (nécessaire quand le bloc try fait 15 km) dans la classe A mais j'obtiens quelque chose de ce type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 class A { public function __construct() { try { B::doSomething(); } catch (Exception $e) { B::log($e); } } } class B { static function doSomething() { throw new Exception(); } static function log($e) { echo 'line '.$e -> getLine()."\n"; $s = debug_backtrace(); foreach ($s as $i) echo 'line '.$i['line']."\n"; } } $a = new A();
Donc pourquoi je ne peux pas obtenir la ligne 7 entre les deux premières ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 line 18 // throw new Exception(); line 11 // B::log($e); line 28 // $a = new A();
Merci.







Répondre avec citation
Partager