* @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.ship-simu.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
*/
class SerializationContainer extends FrameworkArrayObject {
/**
- * Protected constructor, please use the factory method belo!
+ * Protected constructor, must stay as public... *sigh*
*
* @return void
*/
- protected function __construct () {
+ public function __construct () {
// Call parent constructor
parent::__construct(__CLASS__);
}
// 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')) $limitInstance->getDebugInstance()->output(sprintf("[%s:] Constructed PHP command: <pre><em>%s</em></pre><br />\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(