Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Neuerungen in PHP 5  Teil von  OOP und PHP 5
  +++ SELFPHP CronJob-Service :: Jetzt auch als Professional-Version verfügbar! +++

:: Anbieterverzeichnis ::

Globale Branchen

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

 

:: SELFPHP Forum ::

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

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

:: Qozido ::

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.   

 
 
Objekte – Referenzen und Kopien




Das Sprachverhalten der Zend Engine sah es bisher vor, beim Anlegen oder bei der Übergabe von Objektinstanzen nicht das eigentliche Objekt zu übergeben, sondern lediglich eine Kopie davon, so wie man es von Variablen kennt. Dieses Verhalten wird als copy by value bezeichnet und sorgte oft für Verwirrung. Die eigentliche Problematik liegt darin, dass etwaige Änderungen der Eigenschaften des Objekts sich nicht auf das Objekt selbst auswirken würden, sondern auf die Kopie des Objekts. Um tatsächlich nur eine Referenz auf das Objekt anzuwenden, konnte man sich nur mit der expliziten Deklarierung des &new-Operators behelfen.

Die künftige Verhaltensweise und Umgangsweise von Objekten orientiert sich strikt an Hochsprachen wie Java. Dort wird eine Objektinstanz mit einem object handle referenziert (by reference) und dieses Handle bezieht sich in allen Aktionen auf das Ursprungsobjekt. Der große Vorteil dabei ist, dass PHP 5 dies implizit erledigt, was nicht nur eleganter und flexibler ist, sondern auch spürbar die Performance steigert. Der konsequente Wechsel zum object by reference-Paradigma bietet aber auch Vorteile beim Umgang in puncto Usability und Semantik, wodurch Features wie Destruktoren und Dereferenzierung profitieren.

<?php

class Fahrzeug
{
  function __construct($typ)
  {
    $this->name  = $typ;
  }
  function ProduziereFahrzeug($obj, $name)
  {
    $obj->name = $name;
  }
}

$mobil = new Fahrzeug("PKW");
$mobil->ProduziereFahrzeug($mobil, "LKW");
// Ausgabe – LKW
echo $mobil->name;

?>



 




:: Premium-Partner ::

Webhosting/Serverlösungen


Premium-Partner LeaseWeb Germany GmbH
Premium-Partner MECO Systemhaus GmbH & Co. KG
Premium-Partner PSW GROUP GmbH & Co. KG
Premium-Partner BPI-Systeme
Premium-Partner Pixel X
Premium-Partner
 

:: SELFPHP Sponsoren ::


DM Solutions
Microsoft Deutschland GmbH
Sedo - Bei uns wird PHP großgeschrieben
hostfactory.ch - OptimaNet Schweiz AG
ZEND - The PHP Company
Kaspersky Labs
HighText iBusiness
SELFPHP Sponsoren
 

Qozido


© 2001-2013 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt