Browse Source

Update ubiquity (#5446)

* Add async urls for Plaintext & Json

* Add startProdFromCtrl usage

* Remove unused parameter

* Update index.php
jcheron 5 years ago
parent
commit
6aadca31e1

+ 2 - 2
frameworks/PHP/ubiquity/README.md

@@ -35,7 +35,7 @@ The tests are separated into 7 controllers:
 ## Important Libraries
 The tests were run with:
 * [Ubiquity 2.3.*](https://ubiquity.kobject.net/)
-* [PHP Version 7.3.*](http://www.php.net/) with FPM and APC
+* [PHP Version 7.4.*](http://www.php.net/) with FPM and APC
 * [nginx 1.14](http://nginx.org/)
 * [Swoole](https://www.swoole.com/), [Ubiquity-swoole](https://github.com/phpMv/ubiquity-swoole)
 * [Workerman](https://github.com/walkor/Workerman), [Ubiquity-workerman](https://github.com/phpMv/ubiquity-workerman)
@@ -75,4 +75,4 @@ http://localhost:8080/Db
 
 - http://localhost:8080/Fortunes
 - http://localhost:8080/SwooleFortunes
-- http://localhost:8080/WorkerFortunes
+- http://localhost:8080/WorkerFortunes

+ 2 - 2
frameworks/PHP/ubiquity/app/config/swooleServices.php

@@ -5,8 +5,8 @@
 	'models\\World' => 'pgsql'
 ]);
 \Ubiquity\cache\CacheManager::warmUpControllers([
-	'controllers\\Plaintext',
-	'controllers\\Json',
+	'controllers\\PlaintextAsync',
+	'controllers\\JsonAsync',
 	'controllers\\SwooleDb',
 	'controllers\\SwooleFortunes'
 ]);

+ 4 - 4
frameworks/PHP/ubiquity/app/config/workerServices.php

@@ -1,12 +1,12 @@
 <?php
 \Ubiquity\cache\CacheManager::startProd($config);
 \Ubiquity\orm\DAO::setModelsDatabases([
-	"models\\Fortune" => 'pgsql',
-	"models\\World" => 'pgsql'
+	'models\\Fortune' => 'pgsql',
+	'models\\World' => 'pgsql'
 ]);
 \Ubiquity\cache\CacheManager::warmUpControllers([
-	'controllers\\Plaintext',
-	'controllers\\Json',
+	'controllers\\PlaintextAsync',
+	'controllers\\JsonAsync',
 	'controllers\\WorkerDb',
 	'controllers\\WorkerFortunes'
 ]);

+ 1 - 1
frameworks/PHP/ubiquity/app/controllers/Db.php

@@ -13,7 +13,7 @@ class Db extends \Ubiquity\controllers\Controller {
 
 	public function initialize() {
 		\header('Content-Type: application/json');
-		\Ubiquity\cache\CacheManager::startProd(\Ubiquity\controllers\Startup::$config);
+		\Ubiquity\cache\CacheManager::startProdFromCtrl();
 	}
 
 	public function index() {

+ 1 - 2
frameworks/PHP/ubiquity/app/controllers/Fortunes.php

@@ -3,12 +3,11 @@ namespace controllers;
 
 use Ubiquity\orm\SDAO;
 use models\Fortune;
-use Ubiquity\controllers\Startup;
 
 class Fortunes extends \Ubiquity\controllers\SimpleViewController {
 
 	public function initialize() {
-		\Ubiquity\cache\CacheManager::startProd(Startup::$config);
+		\Ubiquity\cache\CacheManager::startProdFromCtrl();
 	}
 
 	public function index() {

+ 1 - 1
frameworks/PHP/ubiquity/app/controllers/Json.php

@@ -9,7 +9,7 @@ class Json extends \Ubiquity\controllers\Controller {
 	public function __construct() {}
 
 	public function initialize() {
-		\Ubiquity\utils\http\UResponse::setContentType('application/json');
+		\header('Content-Type: application/json');
 	}
 
 	public function index() {

+ 20 - 0
frameworks/PHP/ubiquity/app/controllers/JsonAsync.php

@@ -0,0 +1,20 @@
+<?php
+namespace controllers;
+
+/**
+ * Json controller.
+ */
+class JsonAsync extends \Ubiquity\controllers\Controller {
+
+	public function __construct() {}
+
+	public function initialize() {
+		\Ubiquity\utils\http\UResponse::setContentType('application/json');
+	}
+
+	public function index() {
+		echo \json_encode([
+			'message' => 'Hello, World!'
+		]);
+	}
+}

+ 1 - 1
frameworks/PHP/ubiquity/app/controllers/Plaintext.php

@@ -9,7 +9,7 @@ class Plaintext extends \Ubiquity\controllers\Controller {
 	public function __construct() {}
 
 	public function initialize() {
-		\Ubiquity\utils\http\UResponse::setContentType('text/plain', 'utf-8');
+		\header('Content-Type: text/plain; charset=utf-8');
 	}
 
 	public function index() {

+ 18 - 0
frameworks/PHP/ubiquity/app/controllers/PlaintextAsync.php

@@ -0,0 +1,18 @@
+<?php
+namespace controllers;
+
+/**
+ * Plaintext controller.
+ */
+class PlaintextAsync extends \Ubiquity\controllers\Controller {
+
+	public function __construct() {}
+
+	public function initialize() {
+		\Ubiquity\utils\http\UResponse::setContentType('text/plain', 'utf-8');
+	}
+
+	public function index() {
+		echo 'Hello, World!';
+	}
+}

+ 1 - 1
frameworks/PHP/ubiquity/app/controllers/SwooleDb.php

@@ -39,7 +39,7 @@ class SwooleDb extends \Ubiquity\controllers\Controller {
 		for ($i = 0; $i < $queries; ++ $i) {
 			$world = DAO::executePrepared('world', [
 				'id' => \mt_rand(1, 10000)
-			], false);
+			]);
 			$world->randomNumber = \mt_rand(1, 10000);
 			DAO::toUpdate($world);
 			$worlds[] = $world->_rest;

+ 2 - 2
frameworks/PHP/ubiquity/app/views/Fortunes/index.php

@@ -1,4 +1,4 @@
 <!DOCTYPE html><html><head><title>Fortunes</title></head><body><table><tr><th>id</th><th>message</th></tr>
 <?php foreach ($fortunes as $item) : ?>
-<tr><td><?= $item->id ?></td><td><?= \htmlentities($item->message) ?></td></tr>
-<?php endforeach ?></table></body></html>
+<tr><td><?= $item->id ?></td><td><?= \htmlspecialchars($item->message) ?></td></tr>
+<?php endforeach ?></table></body></html>

+ 4 - 4
frameworks/PHP/ubiquity/benchmark_config.json

@@ -26,8 +26,8 @@
         "versus": "php"
       },
       "workerman": {
-        "json_url": "/Json",
-        "plaintext_url": "/Plaintext",
+        "json_url": "/JsonAsync",
+        "plaintext_url": "/PlaintextAsync",
         "db_url": "/WorkerDb",
         "query_url": "/WorkerDb/query/",
         "fortune_url": "/WorkerFortunes",
@@ -49,8 +49,8 @@
         "versus": "workerman"
       },
       "swoole": {
-        "json_url": "/Json",
-        "plaintext_url": "/Plaintext",
+        "json_url": "/JsonAsync",
+        "plaintext_url": "/PlaintextAsync",
         "db_url": "/SwooleDb",
         "update_url": "/SwooleDb/update/",
         "query_url": "/SwooleDb/query/",

+ 2 - 2
frameworks/PHP/ubiquity/index.php

@@ -1,6 +1,6 @@
 <?php
 define('DS', DIRECTORY_SEPARATOR);
 define('ROOT', __DIR__ . DS . 'app' . DS);
-$config = include_once ROOT . 'config/config.php';
-require_once ROOT . './../vendor/autoload.php';
+$config = include ROOT . 'config/config.php';
+require ROOT . './../vendor/autoload.php';
 \Ubiquity\controllers\Startup::run($config);