|
@@ -1,16 +1,16 @@
|
|
<?php
|
|
<?php
|
|
// drop startup errors
|
|
// drop startup errors
|
|
-if (function_exists('error_clear_last'))
|
|
|
|
- error_clear_last();
|
|
|
|
|
|
+// if (function_exists('error_clear_last'))
|
|
|
|
+// error_clear_last();
|
|
|
|
|
|
-error_reporting(0);
|
|
|
|
|
|
+// error_reporting(0);
|
|
|
|
|
|
/** @var Base $f3 */
|
|
/** @var Base $f3 */
|
|
$f3=require('src/base.php');
|
|
$f3=require('src/base.php');
|
|
|
|
|
|
error_reporting(-1);
|
|
error_reporting(-1);
|
|
|
|
|
|
-$f3->set('DEBUG',2);
|
|
|
|
|
|
+$f3->set('DEBUG',0);
|
|
$f3->set('HIGHLIGHT',false);
|
|
$f3->set('HIGHLIGHT',false);
|
|
$f3->set('CACHE','folder=tmp/cache/');
|
|
$f3->set('CACHE','folder=tmp/cache/');
|
|
$f3->set('UI','ui/');
|
|
$f3->set('UI','ui/');
|
|
@@ -18,29 +18,29 @@ $f3->set('ONERROR',function($f3){
|
|
echo $f3->get('ERROR.code').': '.$f3->get('ERROR.text')."\n".$f3->get('ERROR.trace');
|
|
echo $f3->get('ERROR.code').': '.$f3->get('ERROR.text')."\n".$f3->get('ERROR.trace');
|
|
});
|
|
});
|
|
|
|
|
|
-$f3->set('DBS',array('mysql:host=tfb-database;port=3306;dbname=hello_world','benchmarkdbuser','benchmarkdbpass',[PDO::ATTR_PERSISTENT => true]));
|
|
|
|
|
|
+$f3->set('DBS',array('mysql:host=tfb-database;port=3306;dbname=hello_world','benchmarkdbuser','benchmarkdbpass',[ \PDO::ATTR_PERSISTENT => TRUE ]));
|
|
// http: //www.techempower.com/benchmarks/#section=code
|
|
// http: //www.techempower.com/benchmarks/#section=code
|
|
|
|
|
|
// JSON test
|
|
// JSON test
|
|
$f3->route('GET /json',function($f3) {
|
|
$f3->route('GET /json',function($f3) {
|
|
/** @var Base $f3 */
|
|
/** @var Base $f3 */
|
|
- header("Content-type: application/json");
|
|
|
|
|
|
+ header('Content-type: application/json');
|
|
echo json_encode(array('message' => 'Hello, World!'));
|
|
echo json_encode(array('message' => 'Hello, World!'));
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
// DB RAW test database-single-query
|
|
// DB RAW test database-single-query
|
|
-$f3->route('GET /db', function ($f3,$params) {
|
|
|
|
|
|
+$f3->route('GET /db', function ($f3) {
|
|
/** @var Base $f3 */
|
|
/** @var Base $f3 */
|
|
$dbc = $f3->get('DBS');
|
|
$dbc = $f3->get('DBS');
|
|
- $db = new \DB\SQL($dbc[0],$dbc[1],$dbc[2],array( \PDO::ATTR_PERSISTENT => TRUE ));
|
|
|
|
|
|
+ $db = new \DB\SQL($dbc[0],$dbc[1],$dbc[2],$dbc[3]);
|
|
$id = mt_rand(1, 10000);
|
|
$id = mt_rand(1, 10000);
|
|
$res = $db->exec('SELECT id, randomNumber FROM World WHERE id = ?',$id,0,false);
|
|
$res = $db->exec('SELECT id, randomNumber FROM World WHERE id = ?',$id,0,false);
|
|
$result = array(
|
|
$result = array(
|
|
'id' => (int) $res[0]['id'],
|
|
'id' => (int) $res[0]['id'],
|
|
'randomNumber' => (int) $res[0]['randomNumber'],
|
|
'randomNumber' => (int) $res[0]['randomNumber'],
|
|
);
|
|
);
|
|
- header("Content-type: application/json");
|
|
|
|
|
|
+ header('Content-type: application/json');
|
|
echo json_encode($result);
|
|
echo json_encode($result);
|
|
}
|
|
}
|
|
);
|
|
);
|
|
@@ -58,9 +58,9 @@ $f3->route(array(
|
|
$queries = ($queries < 1) ? 1 : (($queries > 500) ? 500 : $queries);
|
|
$queries = ($queries < 1) ? 1 : (($queries > 500) ? 500 : $queries);
|
|
}
|
|
}
|
|
$dbc = $f3->get('DBS');
|
|
$dbc = $f3->get('DBS');
|
|
- $db = new \DB\SQL($dbc[0],$dbc[1],$dbc[2],array( \PDO::ATTR_PERSISTENT => TRUE ));
|
|
|
|
|
|
+ $db = new \DB\SQL($dbc[0],$dbc[1],$dbc[2],$dbc[3]);
|
|
$result = array();
|
|
$result = array();
|
|
- for ($i = 0; $i < $queries; $i++) {
|
|
|
|
|
|
+ for ($i = 0; $i < $queries; ++$i) {
|
|
$id = mt_rand(1, 10000);
|
|
$id = mt_rand(1, 10000);
|
|
$res = $db->exec('SELECT id, randomNumber FROM World WHERE id = ?',$id,0,false);
|
|
$res = $db->exec('SELECT id, randomNumber FROM World WHERE id = ?',$id,0,false);
|
|
$result[] = array(
|
|
$result[] = array(
|
|
@@ -68,20 +68,20 @@ $f3->route(array(
|
|
'randomNumber' => (int) $res[0]['randomNumber'],
|
|
'randomNumber' => (int) $res[0]['randomNumber'],
|
|
);
|
|
);
|
|
}
|
|
}
|
|
- header("Content-type: application/json");
|
|
|
|
|
|
+ header('Content-type: application/json');
|
|
echo json_encode($result);
|
|
echo json_encode($result);
|
|
}
|
|
}
|
|
);
|
|
);
|
|
|
|
|
|
// DB ORM test database-single-query
|
|
// DB ORM test database-single-query
|
|
-$f3->route('GET /db-orm', function ($f3, $params) {
|
|
|
|
|
|
+$f3->route('GET /db-orm', function ($f3) {
|
|
/** @var Base $f3 */
|
|
/** @var Base $f3 */
|
|
$dbc = $f3->get('DBS');
|
|
$dbc = $f3->get('DBS');
|
|
- $db = new \DB\SQL($dbc[0],$dbc[1],$dbc[2],array( \PDO::ATTR_PERSISTENT => TRUE ));
|
|
|
|
|
|
+ $db = new \DB\SQL($dbc[0],$dbc[1],$dbc[2],$dbc[3]);
|
|
$mapper = new \DB\SQL\Mapper($db,'World');
|
|
$mapper = new \DB\SQL\Mapper($db,'World');
|
|
$id = mt_rand(1, 10000);
|
|
$id = mt_rand(1, 10000);
|
|
$mapper->load(array('id = ?',$id));
|
|
$mapper->load(array('id = ?',$id));
|
|
- header("Content-type: application/json");
|
|
|
|
|
|
+ header('Content-type: application/json');
|
|
echo json_encode($mapper->cast());
|
|
echo json_encode($mapper->cast());
|
|
}
|
|
}
|
|
);
|
|
);
|
|
@@ -100,30 +100,47 @@ $f3->route(
|
|
$queries = ($queries < 1) ? 1 : (($queries > 500) ? 500 : $queries);
|
|
$queries = ($queries < 1) ? 1 : (($queries > 500) ? 500 : $queries);
|
|
}
|
|
}
|
|
$dbc = $f3->get('DBS');
|
|
$dbc = $f3->get('DBS');
|
|
- $db = new \DB\SQL($dbc[0],$dbc[1],$dbc[2],array( \PDO::ATTR_PERSISTENT => TRUE ));
|
|
|
|
|
|
+ $db = new \DB\SQL($dbc[0],$dbc[1],$dbc[2],$dbc[3]);
|
|
$mapper = new \DB\SQL\Mapper($db,'World');
|
|
$mapper = new \DB\SQL\Mapper($db,'World');
|
|
$result = array();
|
|
$result = array();
|
|
- for ($i = 0; $i < $queries; $i++) {
|
|
|
|
|
|
+ for ($i = 0; $i < $queries; ++$i) {
|
|
$id = mt_rand(1, 10000);
|
|
$id = mt_rand(1, 10000);
|
|
$mapper->load(array('id = ?',$id));
|
|
$mapper->load(array('id = ?',$id));
|
|
$result[] = $mapper->cast();
|
|
$result[] = $mapper->cast();
|
|
}
|
|
}
|
|
- header("Content-type: application/json");
|
|
|
|
|
|
+ header('Content-type: application/json');
|
|
echo json_encode($result);
|
|
echo json_encode($result);
|
|
}
|
|
}
|
|
);
|
|
);
|
|
|
|
|
|
|
|
|
|
-$f3->route('GET /plaintext', function ($f3) {
|
|
|
|
- header("Content-type: text/plain");
|
|
|
|
- echo "Hello, World!";
|
|
|
|
|
|
+$f3->route('GET /plaintext', function () {
|
|
|
|
+ header('Content-type: text/plain');
|
|
|
|
+ echo 'Hello, World!';
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
-$f3->route('GET /fortune', function ($f3) {
|
|
|
|
|
|
+$f3->route('GET /fortune-orm', function ($f3) {
|
|
|
|
+ /** @var Base $f3 */
|
|
|
|
+ $dbc = $f3->get('DBS');
|
|
|
|
+ $db = new \DB\SQL($dbc[0],$dbc[1],$dbc[2],$dbc[3]);
|
|
|
|
+ $mapper = new \DB\SQL\Mapper($db,'Fortune');
|
|
|
|
+ $result = $mapper->find();
|
|
|
|
+ //$result = $db->exec('SELECT id, message FROM Fortune');
|
|
|
|
+ $result[] = [
|
|
|
|
+ 'id' => 0,
|
|
|
|
+ 'message' => 'Additional fortune added at request time.'
|
|
|
|
+ ];
|
|
|
|
+ $mtx = \Matrix::instance();
|
|
|
|
+ $mtx->sort($result,'message');
|
|
|
|
+ $f3->set('result',$result);
|
|
|
|
+ echo \Template::instance()->render('fortune.html');
|
|
|
|
+});
|
|
|
|
+
|
|
|
|
+$f3->route('GET /fortune-raw', function ($f3) {
|
|
/** @var Base $f3 */
|
|
/** @var Base $f3 */
|
|
$dbc = $f3->get('DBS');
|
|
$dbc = $f3->get('DBS');
|
|
- $db = new \DB\SQL($dbc[0],$dbc[1],$dbc[2],array( \PDO::ATTR_PERSISTENT => TRUE ));
|
|
|
|
|
|
+ $db = new \DB\SQL($dbc[0],$dbc[1],$dbc[2],$dbc[3]);
|
|
$result = $db->exec('SELECT id, message FROM Fortune');
|
|
$result = $db->exec('SELECT id, message FROM Fortune');
|
|
$result[] = array(
|
|
$result[] = array(
|
|
'id'=>0,
|
|
'id'=>0,
|
|
@@ -147,10 +164,10 @@ $f3->route(array(
|
|
$queries = ( $queries < 1 ) ? 1 : ( ( $queries > 500 ) ? 500 : $queries );
|
|
$queries = ( $queries < 1 ) ? 1 : ( ( $queries > 500 ) ? 500 : $queries );
|
|
}
|
|
}
|
|
$dbc = $f3->get('DBS');
|
|
$dbc = $f3->get('DBS');
|
|
- $db = new \DB\SQL($dbc[0],$dbc[1],$dbc[2],array( \PDO::ATTR_PERSISTENT => TRUE ));
|
|
|
|
|
|
+ $db = new \DB\SQL($dbc[0],$dbc[1],$dbc[2],$dbc[3]);
|
|
|
|
|
|
$result = array();
|
|
$result = array();
|
|
- for ($i = 0; $i < $queries; $i++) {
|
|
|
|
|
|
+ for ($i = 0; $i < $queries; ++$i) {
|
|
$id = mt_rand(1, 10000);
|
|
$id = mt_rand(1, 10000);
|
|
$row = array(
|
|
$row = array(
|
|
'id'=>$id,
|
|
'id'=>$id,
|
|
@@ -161,7 +178,7 @@ $f3->route(array(
|
|
$db->exec('UPDATE World SET randomNumber = :ranNum WHERE id = :id', array(':ranNum'=>$rnu,':id'=>$id),0,false);
|
|
$db->exec('UPDATE World SET randomNumber = :ranNum WHERE id = :id', array(':ranNum'=>$rnu,':id'=>$id),0,false);
|
|
$result[] = $row;
|
|
$result[] = $row;
|
|
}
|
|
}
|
|
- header("Content-type: application/json");
|
|
|
|
|
|
+ header('Content-type: application/json');
|
|
echo json_encode($result);
|
|
echo json_encode($result);
|
|
});
|
|
});
|
|
|
|
|
|
@@ -177,18 +194,18 @@ $f3->route(array(
|
|
$queries = ($queries < 1) ? 1 : (($queries > 500) ? 500 : $queries);
|
|
$queries = ($queries < 1) ? 1 : (($queries > 500) ? 500 : $queries);
|
|
}
|
|
}
|
|
$dbc = $f3->get('DBS');
|
|
$dbc = $f3->get('DBS');
|
|
- $db = new \DB\SQL($dbc[0],$dbc[1],$dbc[2],array( \PDO::ATTR_PERSISTENT => TRUE ));
|
|
|
|
|
|
+ $db = new \DB\SQL($dbc[0],$dbc[1],$dbc[2],$dbc[3]);
|
|
$world = new \DB\SQL\Mapper($db,'World');
|
|
$world = new \DB\SQL\Mapper($db,'World');
|
|
|
|
|
|
$result = array();
|
|
$result = array();
|
|
- for ($i = 0; $i < $queries; $i++) {
|
|
|
|
|
|
+ for ($i = 0; $i < $queries; ++$i) {
|
|
$id = mt_rand(1, 10000);
|
|
$id = mt_rand(1, 10000);
|
|
$world->load(array('id = ?', $id));
|
|
$world->load(array('id = ?', $id));
|
|
$world->randomNumber = mt_rand(1, 10000);
|
|
$world->randomNumber = mt_rand(1, 10000);
|
|
$world->save();
|
|
$world->save();
|
|
$result[] = $world->cast();
|
|
$result[] = $world->cast();
|
|
}
|
|
}
|
|
- header("Content-type: application/json");
|
|
|
|
|
|
+ header('Content-type: application/json');
|
|
echo json_encode($result);
|
|
echo json_encode($result);
|
|
});
|
|
});
|
|
|
|
|