Pass by value?

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

  • 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

    Comment


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

      Danke
      SQL Injection kitteh is...

      Comment


      • #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
        Last edited by combie; 22-11-2008, 16:24.
        Wir werden alle sterben

        Comment

        Working...
        X