[PHP5] Call-time pass-by-reference has been deprecated

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

  • [PHP5] Call-time pass-by-reference has been deprecated

    Wie ja sicher dem ein oder anderen aufgefallen ist gibt PHP5 nun seit neustem die Fehlermeldung des Titles aus wenn man Objekte als Reference übergeben will.
    Mich mach das ganze nun etwas stutzig warum das nun auf einmal verboten wird, da ich es für mein Projekt immer genau so und nicht anders gebraucht habe. Habt ihr vielleicht Vorschläge wie man folgendes Beispiel sinnvoll in der neuen Art schreiben könnte:

    PHP-Code:
    $mod   = new modul_class( &$DB ); 
    In der Mod class dann:
    PHP-Code:
    class mod {
    private 
    $db '';
    public function 
    __construct$db )
    $this->db = &$db;

    Was passiert eigentlich genau wenn ich jetzt das "&" bei new modul_class weglasse, wird dann eine Kopie meines übergeben Objektes an die Funktion übergeben?
    daniel-portal.com/games Free Games and more

  • #2
    ist ja auch falsch!

    Code:
    $class = new Mod( $db );
    
    class Mod {
       public function __construct( & $db )
          $this->db = & $db;
       }
    }
    so wird ein Schuh draus
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      Thx damit hast du mir sehr geholfen.
      daniel-portal.com/games Free Games and more

      Kommentar


      • #4
        Hallo ich habe das selbe Problem. Jedoch ist es erst jetzt aufgetaucht. Ich habe im in den Jahren 2002-2008 immer wieder einmal etwas mit php gemacht danach nichts mehr. Gestern hab ich mir den aktuellen xampp heruntergeladen weil ich ein kleines Projekt machen muss und hab einfach meinen alten code von 2008 hergenommen. Doch jetzt hab ich genau dieses Referenz Problem.

        Es betrifft den Befehl Mysql_connect

        PHP-Code:
        $this->mysql_data[$userid]['connection'] =  @mysql_connect($this->mysql_data[$userid]['mysql_host'],$this->mysql_data[$userid]['mysql_user'],&$this->mysql_data[$userid]['mysql_password']); 
        Zur Info: Ich verwende mehrere Verbindungen je nach Projektteil und habe diese dann in einem Array abgelegt.

        ich wüsste nicht wie ich das ändern sollte. (ist ja immer gegangen ohne Fehlermeldung) Vielleicht hat ja wer eine idee.
        Zuletzt geändert von kell; 27.04.2011, 13:23.

        Kommentar


        • #5
          Lass das & weg!
          Wozu die Referenz beim Passwort?
          Denn beim User ist es ja auch nicht nötig.
          Wir werden alle sterben

          Kommentar


          • #6
            oh danke ich habe es eben selbst bemerkt. Weis nicht wozu das da drin war???

            jup jetzt ist es weg. Ich hab ja noch nie mit Referenzen gearbeitet deswegen hab ich mich gewundert.

            Gruss

            Kommentar

            Lädt...
            X