eval() commands replace by improved object factory, user login class stub added
[shipsimu.git] / application / ship-simu / main / ships / class_BaseShip.php
index 77426cc5d0c66ee2436ff955eee48f005d546745..7ccfaff7cd2e0d8f6b4589f071ad3cf1e0252f23 100644 (file)
@@ -71,20 +71,8 @@ class BaseShip extends BaseSimulator {
 
                // Ist die gewuenschte Klasse vorhanden?
                if (class_exists($partClass)) {
-                       // Befehl zusammenbauen
-                       $eval = sprintf("\$partInstance = %s::create%s();",
-                               $partClass, $partClass
-                       );
-
-                       // Debug-Meldung ausgeben
-                       if ((defined('DEBUG_EVAL')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Konstruierte PHP-Anweisung: <pre><em>%s</em></pre><br />\n",
-                               __CLASS__,
-                               __LINE__,
-                               htmlentities($eval)
-                       ));
-
-                       // ... und ausfuehren
-                       eval($eval);
+                       // Get an instance back from our object factory
+                       $partInstance = ObjectFactory::createObjectByName($partClass);
                } else {
                        // Nicht vorhanden, dann Ausnahme werfen!
                        throw new ClassNotFoundException($partClass, self::EXCEPTION_CLASS_NOT_FOUND);