fork download
  1. <?php
  2. interface Trabalho
  3. {
  4. public function trabalhar();
  5. }
  6.  
  7.  
  8. class EmailNotificacao implements Trabalho, Serializable
  9. {
  10.  
  11. public function __construct($id)
  12. {
  13. $this->id = $id;
  14. }
  15.  
  16. public function trabalhar()
  17. {
  18. echo "Rodando o trabalho do usuário {$this->id}\n";
  19. }
  20.  
  21.  
  22. public function serialize()
  23. {
  24. return serialize(['id' => $this->id]);
  25. }
  26.  
  27. public function unserialize($data)
  28. {
  29. $properties = unserialize($data);
  30.  
  31. $this->id = $properties['id'];
  32. }
  33. }
  34.  
  35.  
  36. $serial = serialize(new EmailNotificacao(6000));
  37.  
  38.  
  39.  
  40. unserialize($serial)->trabalhar();
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
Success #stdin #stdout 0.02s 23488KB
stdin
Standard input is empty
stdout
Rodando o trabalho do usuário 6000