Bench.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php defined('SYSPATH') OR die('No Direct Script Access');
  2. Class Controller_Bench extends Controller
  3. {
  4. public function action_json()
  5. {
  6. $this->response
  7. ->headers(array('Content-Type' => 'application/json'))
  8. ->body(json_encode(array('message' => 'Hello World!')));
  9. }
  10. public function action_db()
  11. {
  12. $queries = $this->request->param('queries', false);
  13. $queries = $queries
  14. ? $queries
  15. : 1;
  16. $worlds = array();
  17. $query = DB::query(Database::SELECT, 'SELECT * FROM World WHERE id = :id')->bind(':id', $id);
  18. foreach ($new_users as $username => $password)
  19. {
  20. $query->execute();
  21. }
  22. for ($i = 0; $i < $queries; $i++) {
  23. $worlds[] = $query->param(':id', mt_rand(1, 10000))->execute()->current();
  24. }
  25. $this->response
  26. ->headers(array('Content-Type' => 'application/json'))
  27. ->body(json_encode($worlds));
  28. }
  29. public function action_fortunes()
  30. {
  31. $fortunes = DB::select()->from('Fortune')
  32. ->execute()
  33. ->as_array();
  34. $fortunes[] = array(
  35. 'id' => 0,
  36. 'message' => 'Additional fortune added at request time.'
  37. );
  38. usort($fortunes, function($left, $right) {
  39. if ($left['message'] === $right['message']) {
  40. return 0;
  41. } else if ($left['message'] > $right['message']) {
  42. return 1;
  43. } else {
  44. return -1;
  45. }
  46. });
  47. $this->response->body(
  48. View::factory('bench/fortunes')
  49. ->bind('fortunes', $fortunes)
  50. ->render()
  51. );
  52. }
  53. }