Browse Source

adds fortunes test to zend1

Keith Newman 9 years ago
parent
commit
8454d606ec

+ 15 - 0
frameworks/PHP/zend1/application/controllers/FortunesController.php

@@ -0,0 +1,15 @@
+<?php
+
+class FortunesController extends Zend_Controller_Action
+{
+    public function indexAction()
+    {
+        $table = new Model_Fortune();
+        $fortunes = $table->fetchAll()->toArray();
+        array_push($fortunes, array('id'=> 0, 'message' => 'Additional fortune added at request time.'));
+        usort($fortunes, function($left, $right) {
+            return strcmp($left['message'], $right['message']);
+        });
+        $this->view->fortunes = $fortunes;
+    }
+}

+ 10 - 0
frameworks/PHP/zend1/application/models/Fortune.php

@@ -0,0 +1,10 @@
+<?php
+class Model_Fortune extends Zend_Db_Table_Abstract {
+	protected $_name = 'Fortune';
+
+	public function __construct() {
+		parent::__construct(array(
+			'rowClass' => 'Model_FortuneRow'
+		));
+	}
+}

+ 10 - 0
frameworks/PHP/zend1/application/models/FortuneRow.php

@@ -0,0 +1,10 @@
+<?php
+class Model_FortuneRow extends Zend_Db_Table_Row_Abstract {
+	public function __construct($config = array()) {
+		if ( array_key_exists('data', $config) ) {
+			$config['data']['id'] = (int) $config['data']['id'];
+			$config['data']['message'] = (int) $config['data']['message'];
+		}
+		parent::__construct($config);
+	}
+}

+ 12 - 0
frameworks/PHP/zend1/application/views/scripts/fortunes/index.phtml

@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head><title>Fortunes</title></head>
+<body>
+<table>
+<tr><th>id</th><th>message</th></tr>
+<?php foreach($this->fortunes as $fortune){ ?>
+<tr><td><?php echo $fortune['id']; ?></td><td><?php echo $this->escape($fortune['message']); ?></td></tr>
+<?php } ?>
+</table>
+</body>
+</html>

+ 1 - 0
frameworks/PHP/zend1/benchmark_config.json

@@ -8,6 +8,7 @@
       "db_url": "/db",
       "query_url": "/db-multi?queries=",
       "update_url": "/updates?queries=",
+      "fortune_url": "/fortunes",
       "port": 8080,
       "approach": "Realistic",
       "classification": "Fullstack",