Browse Source

Fortune testcase for Laravel

Skamander 12 years ago
parent
commit
de13835c40

+ 31 - 0
php-laravel/application/controllers/Bench.php

@@ -0,0 +1,31 @@
+<?php
+
+class Bench_Controller extends Controller {
+
+    public $layout = 'layouts.main';
+
+    public function action_fortunes() {
+        $fortunes = DB::table('Fortune')->get();
+
+        $runtimeFortune = new stdClass;
+        $runtimeFortune->id = 0;
+        $runtimeFortune->message = 'Additional fortune added at request time.';
+
+        $fortunes[] = $runtimeFortune;
+
+        usort($fortunes, function($left, $right) {
+            if ($left->message === $right->message) {
+                return 0;
+            } else if ($left->message > $right->message) {
+                return 1;
+            } else {
+                return -1;
+            }
+        });
+
+        $this->layout->nest('content', 'bench.fortunes', [
+            'fortunes' => $fortunes
+        ]);
+    }
+
+}

+ 1 - 1
php-laravel/application/routes.php

@@ -37,7 +37,6 @@ Route::get('/json', function()
     return Response::json(array('message' => 'Hello World!'));
 });
 
-
 Route::get('/db', function()
 {
     $queries = Input::get('queries', 1);
@@ -50,6 +49,7 @@ Route::get('/db', function()
     return Response::json($worlds);
 });
 
+Route::get('/fortunes', 'bench@fortunes');
 
 /*
 |--------------------------------------------------------------------------

+ 14 - 0
php-laravel/application/views/bench/fortunes.blade.php

@@ -0,0 +1,14 @@
+<table>
+    <tr>
+        <th>id</th>
+        <th>message</th>
+    </tr>
+
+    @foreach ($fortunes as $fortune)
+    <tr>
+        <td>{{{ $fortune->id }}}</td>
+        <td>{{{ $fortune->message }}}</td>
+    </tr>
+    @endforeach
+
+</table>

+ 11 - 0
php-laravel/application/views/layouts/main.blade.php

@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+    <title>Benchmark</title>
+    <meta charset=utf-8>
+</head>
+<body>
+{{ $content }}
+</body>
+</html>

+ 1 - 0
php-laravel/benchmark_config

@@ -11,6 +11,7 @@
       "setup_file": "setup",
       "db_url": "/db",
       "query_url": "/db?queries=",
+      "fortune_url": "/fortunes",
       "port": 8080,
       "sort": 62
     }

+ 9 - 0
php-laravel/readme.md

@@ -13,6 +13,11 @@ Uses the Laravel Fluent Query Builder.
 
 * [DB test controller](application/routes.php)
 
+### Template Test
+Uses Laravels template engine 'blade'
+
+* [Template test controller](application/controllers/Bench.php)
+
 
 ## Infrastructure Software Versions
 The tests were run with:
@@ -34,3 +39,7 @@ http://localhost/db
 ### Variable Query Test
     
 http://localhost/db?queries=2
+
+### Templating Test
+
+http://localhost/fortunes