Raw.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. /**
  3. * This file is part of webman.
  4. *
  5. * Licensed under The MIT License
  6. * For full copyright and license information, please see the MIT-LICENSE.txt
  7. * Redistributions of files must retain the above copyright notice.
  8. *
  9. * @author walkor<[email protected]>
  10. * @copyright walkor<[email protected]>
  11. * @link http://www.workerman.net/
  12. * @license http://www.opensource.org/licenses/mit-license.php MIT License
  13. */
  14. namespace support\bootstrap\db;
  15. use Webman\Bootstrap;
  16. use Workerman\Worker;
  17. use PDOStatement;
  18. use PDO;
  19. /**
  20. * Class Raw
  21. * @package support\bootstrap\db
  22. */
  23. class Raw implements Bootstrap
  24. {
  25. /**
  26. * @var \PDO
  27. */
  28. public static $pdo;
  29. /**
  30. * @var PDOStatement
  31. */
  32. public static $statement;
  33. /**
  34. * @var PDOStatement
  35. */
  36. public static $fortune;
  37. /**
  38. * @var PDOStatement
  39. */
  40. public static $random;
  41. /**
  42. * @var PDOStatement
  43. */
  44. public static $update;
  45. /**
  46. * @param Worker $worker
  47. *
  48. * @return void
  49. */
  50. public static function start($worker)
  51. {
  52. $pdo = new PDO('pgsql:host=tfb-database;dbname=hello_world',
  53. 'benchmarkdbuser', 'benchmarkdbpass',
  54. [PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
  55. PDO::ATTR_EMULATE_PREPARES => false]
  56. );
  57. self::$statement = $pdo->prepare('SELECT id,randomNumber FROM World WHERE id=?');
  58. self::$fortune = $pdo->prepare('SELECT id,message FROM Fortune');
  59. self::$random = $pdo->prepare('SELECT id,randomNumber FROM World WHERE id=?');
  60. self::$update = $pdo->prepare('UPDATE World SET randomNumber=? WHERE id=?');
  61. self::$pdo = $pdo;
  62. }
  63. }