Supprimer un message
Raison de suppression du message (envoyée à l'utilisateur)

Voulez vous réellement supprimer ce message?  


gizmo
Bon, encore une incohérence de merde dans PHP :fou:
  1. <?php 
  2. class Test { 
  3.  
  4. protected $_model = 'toto'
  5.  
  6. public final function __get($name) { 
  7. $realName = '_'.$name
  8. if (isset($this->$realName)) { 
  9. $result = $this->$realName
  10. return $result
  11. throw new Exception('Invalid member. "'.$name.'" does not exist.'); 
  12.  
  13. public function __construct() { 
  14.  
  15.  
  16. $test = new Test(); 
  17. $test2="bla"
  18. $test3 = $test2
  19. $test3 = "tutu"
  20. echo $test2"\n"
  21. $test->model = 'hello'
  22. echo $test->model
  23. ?>


Output:


bla
hello


Résultat des courses: Ces imbéciles se sont tellement chiés dessus qu'il est impossible de travailler sur des copies de variables membres d'un objet. Super pratique lorsque l'on veut rendre un objet immuable de manière élégante :fou:


EDIT: Bon, alors, le fait est que ces imbéciles ont mis un setter par défaut, php4 staïle :kiki: Du coup, en rajoutant la méthode

  1. public final __set($name$value){}


On règle le problème. C'est évidemment super pratique pour débugger s'il instancie des nouvelles variables à chaque faute de frappe, même dans les objets :halalala:
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?