Fehler in "MainFactory"

Thema wurde von Avenger, 9. November 2014 erstellt.

  1. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Die "MainFactory" erstellt Klassen mit diesem eval-Code:

    PHP:
                $t_eval_code '$coo_output_object =& ' $t_operation_class_name '::get_instance(' $t_constructor_args_string ');';
    Bei dem "eval"-Code

    PHP:
    $coo_output_object =& LanguageTextManager::get_instance();
    gibt das einen Fehler:

    PHP:
    Only variables should be assigned by reference
    ====================================================

    Mir ist aufgefallen, dass weder in der "MainFactory", noch im CacheControl das Verzeichnis "includes/classes" nach Klassen gescanned wird.....
     
  2. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.693
    Danke vergeben:
    903
    Du hast weiterhin eine Entwicklungsumgebung, in der Fehler auftreten, die (gefühlt) niemand sonst hat :). Also die Fehlermeldung ist schlüssig, nur wundere ich mich, dass das bisher sonst keiner gemeldet hat und du auch Shops laufen hast, die keinen Fehler schmeißen?! Weil es gibt im Shop noch viel mehr get_instance-Aufrufe als Referenzzuweisung. Ich habe das mal auf unsere Todo gepackt: https://tracker.gambio-server.net/issues/40771

    Klassen gehören in den system- oder user_classes-Ordner und nicht irgendwo anders hin. Daher wird das alte includes/classes-Verzeichnis nicht gescannt, so meine Erklärung dafür (müsste da mal genauer bei Nonito nachhaken). Die alten Klassen wurden in _ORIGIN-Klassen umgeschrieben, damit sie von der MainFactory berücksichtigt werden.
     
  3. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Der Fehler tritt immer auf, nur meldet der ErrorHandler, nachdem er aktiviert, die nicht.

    In der Entwicklungsumgebung merkt man halt im "Singlestep", dass der Fehler auftritt.