Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Neuerungen in PHP 5  Teil von  OOP und PHP 5
Professional CronJob-Service

Suche

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP?
In über 130.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 
 
Objekte klonen: Seite 2

SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an. Weitere Informationen



Ausgabe
Ich wurde geklont: Menschen Object
(
    [name] => Klon-Zelle
)

Beispiel – Vertiefung

<?php

class Form {
  public $form_farbe;
  public $form_breite;
  public $form_hoehe;

  function setze_farbe($farbe) {
    $this->form_farbe = $farbe;
  }

  function __clone() {
    $this->form_farbe = $this->form_farbe;
    $this->form_breite = 100;
    $this->form_hoehe = $this->form_hoehe;
  }
}

$form_objekt = new Form();
$form_objekt->setze_farbe("blau");
$form_objekt->form_breite = 300;
$form_objekt->form_hoehe = 300;

$clone_objekt = clone $form_objekt;
echo $clone_objekt->form_farbe ."<br>";
echo $clone_objekt->form_breite ."<br>";
echo $clone_objekt->form_hoehe ."<br>";

?>

Ausgabe
blau
100
300

Beim Beispiel handelt es sich um eine fiktive Form, wobei sich inmitten der Klasse die __clone()-Methode befindet. Dadurch besteht die Möglichkeit, Objekteigenschaften mit neuen Werten zu belegen. Nach der Instanz des Form-Objekts werden die Klassenvariablen mit einem Wert initialisiert und die Objekteigenschaften werden weiterführend durch den Aufruf von clone $form_objekt geklont. Bei den nachfolgenden Ausgaben des geklonten Objekts ist festzustellen, dass die Breite innerhalb der __clone()-Methode modifiziert wurde und daher einen veränderten Wert ausgibt. Der Farb- und Höhenwert wurde nicht verändert und entspricht dem der zuvor initialisierten Klassenvariablen.

Beispiel – abschließende Anwendung

<?php

class Adresse {
   static $id = 0;

   function Adresse() {
       $this->id = self::$id++;
   }

   function __clone() {
        $this->id = self::$id++;
        $this->vorname = $this->vorname;
       $this->nachname = $this->nachname;
       $this->ort = "New York";
   }
}

$obj = new Adresse();
$obj->vorname = "Matthias";
$obj->nachname = "Kanengiesser";
$obj->ort = "Berlin";

print $obj->id . "<br>";

$clone_obj = clone $obj;
print $clone_obj->id . "<br>";
print $clone_obj->vorname . "<br>";
print $clone_obj->nachname . "<br>";
print $clone_obj->ort . "<br>";

?>

Ausgabe
0
1
Matthias
Kanengiesser
New York




Objekte klonen Seite 1
 




:: Premium-Partner ::

Webhosting/Serverlösungen

Profihost AG weitere Premium-Partner
 

:: SELFPHP Sponsor ::

Kaspersky Labs GmbH weitere Sponsoren
 


:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Webhosting/Serverlösungen

Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?

Sie sind nur ein paar Klicks davon entfernt!


 

Ausgewählter Tipp im Bereich PHP-Skripte


MD5-Hash-Summe überprüfen

Weitere interessante Beispiele aus dem SELFPHP Kochbuch finden Sie im Bereich PHP-Skripte
 

SELFPHP Code Snippet


Bildmanipulation mit PHP & jQuery v2

Weitere interessante Code Snippets finden Sie auf SELFPHP im Bereich PHP Code Snippets
 
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt
© 2005-2017 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de