fork download
  1. <?php
  2. namespace Lottery;
  3. class Lotto {
  4. protected $lots;
  5. public function __construct($lots = [])
  6. {
  7. $this->lots = $lots;
  8. }
  9. public function draw() {
  10. return array_shift($this->lots);
  11. }
  12. }
  13.  
  14. namespace BallotGuy;
  15. use Lottery\Lotto;
  16. $lotto = new Lotto([313328804459,
  17. 159078851698,
  18. 226414688415,
  19. 380287830671,
  20. 301815692106,
  21. 2991355110,
  22. ]);
  23. echo "Lotto status at this point\n";
  24. echo "===========================================================\n";
  25. var_dump($lotto);
  26. echo "===========================================================\n";
  27. echo "Drawn: " . $lotto->draw()."\n";
  28. echo "\nLotto status at this point\n";
  29. echo "===========================================================\n";
  30. var_dump($lotto);
  31. echo "===========================================================\n";
  32. $saved = serialize($lotto);
  33. //file_put_contents('ballots.txt',$saved);
  34.  
  35. /**
  36.  * setting to null to emulate script ending
  37.  */
  38. $lotto = null;
  39. echo "Lotto set to null 'script' ends sort to speak here\n";
  40. echo "\nLotto status at this point\n";
  41. echo "===========================================================\n";
  42. var_dump($lotto);
  43. echo "===========================================================\n";
  44. echo "Loading lotto from file\n";
  45. //$saved = file_get_contents('ballots.txt');
  46. $lotto = unserialize($saved);
  47. echo "\nLotto status at this point\n";
  48. echo "===========================================================\n";
  49. var_dump($lotto);
  50. echo "===========================================================\n";
  51. echo "Drawn: ". $lotto->draw()."\n";
  52. echo "\nLotto status at this point\n";
  53. echo "===========================================================\n";
  54. var_dump($lotto);
  55. echo "===========================================================\n";
  56.  
  57.  
Success #stdin #stdout 0.02s 23512KB
stdin
Standard input is empty
stdout
Lotto status at this point
===========================================================
object(Lottery\Lotto)#1 (1) {
  ["lots":protected]=>
  array(6) {
    [0]=>
    int(313328804459)
    [1]=>
    int(159078851698)
    [2]=>
    int(226414688415)
    [3]=>
    int(380287830671)
    [4]=>
    int(301815692106)
    [5]=>
    int(2991355110)
  }
}
===========================================================
Drawn: 313328804459

Lotto status at this point
===========================================================
object(Lottery\Lotto)#1 (1) {
  ["lots":protected]=>
  array(5) {
    [0]=>
    int(159078851698)
    [1]=>
    int(226414688415)
    [2]=>
    int(380287830671)
    [3]=>
    int(301815692106)
    [4]=>
    int(2991355110)
  }
}
===========================================================
Lotto set to null 'script' ends sort to speak here

Lotto status at this point
===========================================================
NULL
===========================================================
Loading lotto from file

Lotto status at this point
===========================================================
object(Lottery\Lotto)#1 (1) {
  ["lots":protected]=>
  array(5) {
    [0]=>
    int(159078851698)
    [1]=>
    int(226414688415)
    [2]=>
    int(380287830671)
    [3]=>
    int(301815692106)
    [4]=>
    int(2991355110)
  }
}
===========================================================
Drawn: 159078851698

Lotto status at this point
===========================================================
object(Lottery\Lotto)#1 (1) {
  ["lots":protected]=>
  array(4) {
    [0]=>
    int(226414688415)
    [1]=>
    int(380287830671)
    [2]=>
    int(301815692106)
    [3]=>
    int(2991355110)
  }
}
===========================================================