Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.79 KB | None | 0 0
  1. <?php
  2.  
  3.  
  4. trait AbsTrait
  5. {
  6.     private $a;
  7.     private $b;
  8.     private $c;
  9.  
  10.     function __construct()
  11.     {
  12.         $this->a = $this->b = $this->c = '';
  13.     }
  14. }
  15.  
  16. abstract class AbsClass
  17. {
  18.     use AbsTrait;
  19. }
  20.  
  21.  
  22. class Returner
  23. {
  24.     public static function getAbstractClass()
  25.     {
  26.         return (new class extends AbsClass {
  27.             public function echo(string $str)
  28.             {
  29.                 echo $str;
  30.             }
  31.         });
  32.     }
  33. }
  34. echo '<pre>';
  35. $class = Returner::getAbstractClass();
  36. $obj = new $class();
  37. var_dump($obj);
  38. $obj->Echo('123');
  39.  
  40. $destroyer = function () use (&$obj) {
  41.     var_dump($obj); // OK
  42.     unset($obj);
  43.     var_dump($obj); // NULL
  44. };
  45.  
  46. $obj->EcHo('123');
  47.  
  48. $destroyer(); // CALL UNSET
  49.  
  50. $obj->ECHO('123'); // OK
  51.  
  52. var_dump($obj);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement