& neue MyClass () vs. neue MyClass () in PHP

  • Gibt es einen Unterschied zwischen den Folgenden:

     $myVar=&new MyClass();
    $myVar=new MyClass();
     

    Ich codiere in PHP

    22 November 2011
    Casebash
3 answers
  • Bei Verwendung von PHP5 gibt es keinen Unterschied.

    Bei Verwendung von PHP4 übergibt das erstere eine Referenz an das neue Objekt.

    Dies liegt daran, dass "new" standardmäßig keinen Verweis zurückgibt, sondern eine Kopie.

    Quelle .

    Lesen Sie auch dies vor .

    29 August 2017
    Vasiliy Zverev
  • PHP5 verwenden? Dann sollten Sie Folgendes verwenden:

     $myVar=new MyClass();
     

    Dies ist der übliche Weg, eine Klasse zu initialisieren.


    Verwenden Sie Folgendes, wenn E_STRICT aktiviert ist:

     $myVar=&new MyClass();
     

    bewirkt, dass die PHP-Laufzeiten die Warnung Deprecated: Assigning the return value of new by reference is deprecated auslösen.

    22 November 2011
    Andrew Moore
  • &new wurde aus PHP7 entfernt, Sie müssen stattdessen new verwenden.

    Zuweisung von neu per Referenz p>

    Seit PHP 5.3 ist die Zuweisung neuer Ausdrücke durch Verweise veraltet. Sie kann durch eine normale Zuweisung ersetzt werden 1):

    // Anstelle von $ obj = & amp; new ClassName;

    // Schreibe $ obj = new ClassName;

    Das Zuweisen des Rückgabewerts per Referenz ist nicht mehr erforderlich, da PHP 5.0.

    Überprüfen Sie diesen Thread https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7

    19 January 2016
    EnriMR