Supprimer un message
gizmo
Bon, alors, dans la catégorie "Je suis incapable de passer des arguments correctement à une fonction", j'appelle PHP!
Petite démonstration par l'exemple:
Et en sortie, on obtient:
toto
Hello "goodCase"!
Donc, en cas d'appel à une fonction implicite, PHP est incapable d'évaluer D'ABORD cette fonction avant de passer le résultat comme argument et, au lieu de faire un passage par référence pour économiser de la place mémoire et éviter une évaluation inutile, il se content de copier une valeur NULL, ce con.
Et dire que cette merde est acclamée par les foules...
Petite démonstration par l'exemple:
- <?php
- class Test {
- protected $_model = 'toto';
- public final function __get($name) {
- $realName = '_'.$name;
- if (isset($this->$realName)) {
- return $this->$realName;
- }
- throw new Exception('Invalid member. "'.$name.'" does not exist.');
- }
- public function badCase() {
- if (!empty($this->model)) {
- echo 'Hello "badCase"!', "\n";
- }
- }
- public function goodCase() {
- $model = $this->model;
- if (!empty($model)) {
- echo 'Hello "goodCase"!', "\n";
- }
- }
- }
- $test = new Test();
- echo $test->model, "\n";
- $test->badCase();
- $test->goodCase();
- ?>
Et en sortie, on obtient:
toto
Hello "goodCase"!
Donc, en cas d'appel à une fonction implicite, PHP est incapable d'évaluer D'ABORD cette fonction avant de passer le résultat comme argument et, au lieu de faire un passage par référence pour économiser de la place mémoire et éviter une évaluation inutile, il se content de copier une valeur NULL, ce con.
Et dire que cette merde est acclamée par les foules...