Pass by value?

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

  • Pass by value?

    Ich habe eine Klasse User und versuche diese Klasse per Value zu übergeben.

    PHP-Code:
    $user = new User();
    $klasse->foo($user);

    // Signatur
    public function foo($user); 
    Wenn ich in fo $user verändere, so ist er allerdings nach dem Call verändert. Verstehe ich da was falsch? Die Signatur ist ja nicht &$user , also eigentlich pass-by-value.

    Als reference kann ich es dort nicht gebrauchen.

    Oder war in PHP OOP alles pass by reference?
    SQL Injection kitteh is...

  • #2
    Oder war in PHP OOP alles pass by reference?
    In PHP5 Ja!


    PHP-Code:
    // du suchst:
    $user = new User();
    $klasse->foo(clone $user); 
    Wir werden alle sterben

    Kommentar


    • #3
      Oh, es gibt ne clone methode? cool.

      Danke
      SQL Injection kitteh is...

      Kommentar


      • #4
        Nöö.. clone ist ein Schlüsselwort. Die magische Methode __clone() wirst du evtl. selbst implementieren dürfen.
        http://www.php.net/manual/de/language.oop5.cloning.php
        Zuletzt geändert von combie; 22.11.2008, 17:24.
        Wir werden alle sterben

        Kommentar

        Lädt...
        X