Clone Objekt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Clone Objekt

    Guten Morgen

    Habe ein Problem mit dem Clonen eines Objekte.
    Um das Script kompatibel zu PHP4 zu halten
    habe ich versucht mit dieser Func
    PHP-Code:
    function cloneObj($Obj){
            
    $ver version_compare(phpversion(), "5.0.0");

            if (
    $ver == 1) {
                
    #var_dump($ver);
                
    return clone $Obj;
            }else{
                return 
    $Obj;
            }

        } 
    PHP4 von PHP5 zu unterscheiden.

    Doch in PHP4 gibt er mir diese:
    parse error, unexpected T_VARIABLE
    Fehlermeldung. obwohl er den Teil von else ausführt.

    Ist das irgendwie machbar oder muß ich mich für eine
    Variante entscheiden?

  • #2
    http://acko.net/node/54

    ugly hack triffts ganz gut.. evtl. durch ein include einbinden? auch nicht besser, aber mir fällt nichts schönes ein.

    p.s. beachte die kommentare..

    Kommentar


    • #3
      Re: Clone Objekt

      Original geschrieben von MTCook
      obwohl er den Teil von else ausführt.
      "Er" muss trotzdem erst das komplette Script parsen und auf syntaktische Korrektheit prüfen - die nicht gegeben ist, wenn "er" PHP 4 ist.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Danke schon mal.

        Es scheint ja mehrere Lösungsansätze zu geben.
        Doch welche jetzt die bessere ist kann ich nicht daraus erkennen
        da mein English nicht so gut ist.
        Spricht irgendwas gegen die Func die Eval benutzt?
        Wie würdet Ihr das Problem lösen?

        Kommentar


        • #5
          Original geschrieben von MTCook
          Spricht irgendwas gegen die Func die Eval benutzt?
          Abgesehen von eval, meinst du?
          Wie würdet Ihr das Problem lösen?
          Nicht auf Teufel komm raus versuchen, abwärtskompatibel zu sein.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            PHP-Code:
            function cloneObj($Obj){
                    
            $ver version_compare(phpversion(), "5.0.0");

                    if (
            $ver 0) {
                        
            #var_dump($ver);
                        
            eval("
                            
            $OBjEv = clone $Obj;
                        "
            );
                        return 
            $OBjEv;

                    }else{
                        return 
            $Obj;
                    }


            Warum geht das nicht?
            Was muß ich bei Eval beachten?
            Im Handbuch zu Eval steht nur ein eispiel mit einem String.

            Kommentar


            • #7
              ein klassiker.

              mach mal
              PHP-Code:
              $str daswas du an eval übergibst;
              var_dump($str); 
              wie siehts aus? wie sollte es aussehen?

              Kommentar


              • #8
                Habs!
                So gehts:
                PHP-Code:
                function cloneObj($Obj){
                        
                $ver version_compare(phpversion(), "5.0.0");

                        if (
                $ver 0) {
                            eval(
                                
                '$OBjEv = clone $Obj;'
                            
                );
                            return 
                $OBjEv;

                        }else{
                            return 
                $Obj;
                        }


                Danke für eure Hilfe!

                Kommentar

                Lädt...
                X