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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [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

    Comment


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

      Comment


      • #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.
        Last edited by kell; 27-04-2011, 13:23.

        Comment


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

          Comment


          • #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

            Comment

            Working...
            X