Gisteren ben ik een paar uur bezig geweest met een probleem op te lossen, ik was bezig met het schrijven van een uitbreiding op een klasse, maar wat ik ook deed, ik kreeg elke keer een error 324 (empty response) van de server terug. Uiteindelijk ben ik erachter gekomen wat het probleem was, er zat wel eens waar een fout in mijn code, maar mijns inziens zit er ook een bug in PHP, aangezien die geen error/exception terug gaf. Met deze code is het probleem te reproduceren:
De fout zit 'em erin dat ik $this->bar() aanroep vanuit bar() zelf, terwijl ik eigenlijk diezelfde functie van de parent class wou aanroepen, dus er zat inderdaad een fout in de code. Maar volgens mij moet PHP dan óf een geheugen error teruggeven of een timeout, of zie ik dat verkeerd? Concreet de vraag: Moet ik dit als bug reporten op php.net of niet?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| <?php //Tested in: 5.2.12 echo phpversion(); class foo { function bar() { } } class bar extends foo { function __construct() { $this->bar(); } function bar(){ //Should be: parent::bar(); $this->bar(); } } //This will result in an empty response error (code 324) $test = new bar; ?> |
De fout zit 'em erin dat ik $this->bar() aanroep vanuit bar() zelf, terwijl ik eigenlijk diezelfde functie van de parent class wou aanroepen, dus er zat inderdaad een fout in de code. Maar volgens mij moet PHP dan óf een geheugen error teruggeven of een timeout, of zie ik dat verkeerd? Concreet de vraag: Moet ik dit als bug reporten op php.net of niet?