From 8da8c73c7c0e93f643408dfd28a7793f87b8cc97 Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Sat, 1 Aug 2015 14:27:03 +0200 Subject: [PATCH] Using the bebug middleware class will become deprecated (now already marked to warn you) when the new logger facilities are coming out. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- .../main/class_BaseFrameworkSystem.php | 3 +- inc/classes/main/factories/class_ | 37 ++++++++++++++ inc/classes/main/factories/logger/.htaccess | 1 + .../factories/logger/class_LoggerFactory.php | 51 +++++++++++++++++++ .../debug/class_DebugMiddleware.php | 1 + 5 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 inc/classes/main/factories/class_ create mode 100644 inc/classes/main/factories/logger/.htaccess create mode 100644 inc/classes/main/factories/logger/class_LoggerFactory.php diff --git a/inc/classes/main/class_BaseFrameworkSystem.php b/inc/classes/main/class_BaseFrameworkSystem.php index e26468c2..e3d15848 100644 --- a/inc/classes/main/class_BaseFrameworkSystem.php +++ b/inc/classes/main/class_BaseFrameworkSystem.php @@ -444,7 +444,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { } /** - * Destructor for all classes + * Destructor for all classes. You should not call this method on your own. * * @return void */ @@ -1871,6 +1871,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * * @param $className Name of the class (currently unsupported) * @return $debugInstance An instance of a debugger class + * @deprecated Not fully, as the new Logger facilities are not finished yet. */ public final static function createDebugInstance ($className) { // Is the instance set? diff --git a/inc/classes/main/factories/class_ b/inc/classes/main/factories/class_ new file mode 100644 index 00000000..d05b8441 --- /dev/null +++ b/inc/classes/main/factories/class_ @@ -0,0 +1,37 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team + * @license GNU GPL 3.0 or any newer version + * @link http://www.shipsimu.org + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +class ???Factory extends BaseFactory { + /** + * Protected constructor + * + * @return void + */ + protected function __construct () { + // Call parent constructor + parent::__construct(__CLASS__); + } +} + +// [EOF] +?> diff --git a/inc/classes/main/factories/logger/.htaccess b/inc/classes/main/factories/logger/.htaccess new file mode 100644 index 00000000..3a428827 --- /dev/null +++ b/inc/classes/main/factories/logger/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/inc/classes/main/factories/logger/class_LoggerFactory.php b/inc/classes/main/factories/logger/class_LoggerFactory.php new file mode 100644 index 00000000..202f23d0 --- /dev/null +++ b/inc/classes/main/factories/logger/class_LoggerFactory.php @@ -0,0 +1,51 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team + * @license GNU GPL 3.0 or any newer version + * @link http://www.shipsimu.org + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +class LoggerFactory extends BaseFactory { + /** + * Protected constructor + * + * @return void + */ + protected function __construct () { + // Call parent constructor + parent::__construct(__CLASS__); + } + + /** + * Creates a logger instance for given FrameworkInterface. This allows every + * class that implements FrameworkInterface to have an own logger. Surely + * this factory and the logger itself cannot have an own logger as this would + * lead to an endless loop: Get factory instance, get a logger for the factory + * instance which ivokes the factory's method again. + * + * @param $objectInstance An instance of a FrameworkInterface class + * @return $loggerInstance An instance of a Logger class + */ + public static final function createLoggerInstance (FrameworkInterface $objectInstance) { + // @TODO Unfinished work + } +} + +// [EOF] +?> diff --git a/inc/classes/middleware/debug/class_DebugMiddleware.php b/inc/classes/middleware/debug/class_DebugMiddleware.php index 3789e647..045a3308 100644 --- a/inc/classes/middleware/debug/class_DebugMiddleware.php +++ b/inc/classes/middleware/debug/class_DebugMiddleware.php @@ -9,6 +9,7 @@ * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.shipsimu.org + * @deprecated See LoggerFactory for a more flexible approach * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by -- 2.30.2