X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Fextended%2Fclass_SerializationContainer.php;h=6d5c15de54fd078d2bf1014929174a0fc5ae1a97;hb=65d72098d3ec6a0ef7782668264fc6f33f9ebeb6;hp=94da00be4f10b3f47f02fb156f833354f7f1e782;hpb=1d128d8532290e84885d09d2d3f0060abd08e49e;p=shipsimu.git diff --git a/inc/classes/main/extended/class_SerializationContainer.php b/inc/classes/main/extended/class_SerializationContainer.php index 94da00b..6d5c15d 100644 --- a/inc/classes/main/extended/class_SerializationContainer.php +++ b/inc/classes/main/extended/class_SerializationContainer.php @@ -3,11 +3,11 @@ * This class contains object attributes which we can now send together to * other classes * - * @author Roland Haeder - * @version 0.3.0 + * @author Roland Haeder + * @version 0.0.0 * @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software * @license GNU GPL 3.0 or any newer version - * @link http://www.mxchange.org + * @link http://www.ship-simu.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 @@ -24,16 +24,13 @@ */ class SerializationContainer extends FrameworkArrayObject { /** - * Public constructor, if you like to have an object of this class... + * Protected constructor, must stay as public... *sigh* * * @return void */ public function __construct () { // Call parent constructor parent::__construct(__CLASS__); - - // Debug message - if ((defined('DEBUG_CONTAINER')) && (defined('DEBUG_CONSTRUCT'))) $this->getDebugInstance()->output("[SerializationContainer:] Konstruktor erreicht.
\n"); } /** @@ -42,12 +39,12 @@ class SerializationContainer extends FrameworkArrayObject { * hold the attributed and their values which we have specified in * the limitation object. * - * @param $limitInstance The instance to the object ObjectLimits - * @param $object The origin object. We don't touch it here. - * @return $containerInstance An instance of SerializationContainer + * @param $limitInstance The instance to the object ObjectLimits + * @param $object The origin object. We don't touch it here. + * @return $containerInstance An instance of SerializationContainer * @throws GetterNotFoundException If a getter was not found */ - public final static function createSerializationContainer (ObjectLimits $limitInstance, $object) { + public final static function createSerializationContainer (ObjectLimits $limitInstance, FrameworkInterface $object) { // Get an instance $containerInstance = new SerializationContainer(); @@ -58,19 +55,8 @@ class SerializationContainer extends FrameworkArrayObject { // Is the required method available? if (method_exists($object, sprintf("get%s", $curr))) { - // Generate a command for getting it - $eval = sprintf("\$value = \$object->get%s();", - $curr - ); - - // Debug eval command - if ((defined('DEBUG_EVAL')) || (defined('DEBUG_ALL'))) $limitInstance->getDebugInstance()->output(sprintf("[%s:] Konstruierte PHP-Anweisung:
%s

\n", - $this->__toString(), - htmlentities($eval) - )); - - // Run it - @eval($eval); + // Generate call-back function + $value = call_user_func_array(array($object, sprintf("get%s", $curr))); // Add this item to the container list $containerInstance->append(array(