index.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. error_reporting(-1);
  3. require_once __DIR__ . '/../vendor/silica/silica/src/Silica/Application.php' ;
  4. $app = new Silica\Application();
  5. $app->share('pdo', function($app) {
  6. $options = array(
  7. // PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
  8. PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
  9. PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ ,
  10. );
  11. $pdo = new PDO('mysql::host=192.168.100.102;dbname=hello_world', 'benchmarkdbuser', 'benchmarkdbpass', $options ) ;
  12. return $pdo ;
  13. }) ;
  14. $app->get('/json', function() {
  15. echo json_encode(array("message" => "Hello World!"));
  16. }) ;
  17. $app->get('/db', function() use ($app) {
  18. $queries = 1 ;
  19. if( isset($_GET['queries']) ) {
  20. $queries = (int) $_GET['queries'] ;
  21. }
  22. // possibility for micro enhancement could be the use of SplFixedArray -> http://php.net/manual/de/class.splfixedarray.php
  23. $worlds = array();
  24. for($i = 0; $i < $queries; ++$i) {
  25. $worlds[] = $app['db']->fetchAssoc('SELECT * FROM World WHERE id = ?', array(mt_rand(1, 10000)));
  26. }
  27. echo json_encode( $worlds ) ;
  28. });
  29. $app->run();