![]() |
![]() |
![]() | |
![]() |
Alle dokumentierten Objete der „Portalsuite Objects“ Bibliothek können Sie auch in eigenen Klassen ableiten und davon dann wiederum Instanzen bilden. Beim Ableiten haben Sie wie üblich die Möglichkeit, Funktionen zu überschreiben und damit abzuändern. Dies möchten wir einmal anhand eines kleinen Beispieles mit der Klasse PTemplate zeigen: Templateauszug: <? Class MeinEigenesTemplate extends PTemplate { var $MeinTemplateValue; function MeinEigenesTemplate () { $this->MeinTemplateValue = ""; parent::PTemplate (); } function Field ($Feld) { if ($Feld=="TemplateValue") return ($this->MeinTemplateValue); } function WriteField ($Feld,$Inhalt) { if ($Feld=="TemplateValue") $this->MeinTemplateValue = $Inhalt; } function Valid () { return (1); } } $EinTestTemplate = new MeinEigenesTemplate; $EinTestTemplate->WriteField ($Feld," <? echo (\"Dies ist ein Testtemplate ;-)\"); ?> "); $EinTestTemplate->Output (); ?>
In diesem Beispiel wird von „PTemplate“ eine neue Klasse namens „MeinEigenesTemplate“ abgeleitet. Diese Klasse erbt natürlich alle Eigenschaften und Funktionen der „Portalsuite Objects“ Klasse „PTemplate“. Einige der Funktionen werden von uns jedoch überschrieben und damit ändern wir das ererbte Verhalten. Wir überschreiben die „Field“ und „WriteField“-Funktionen und biegen das Feld „TemplateValue“ auf eine von uns selbst definierte lokale Objektvariable um. Hierdurch haben wir eine Klasse generiert, welche unabhängig von der Portalsuite-Datenbank lauffähig ist und dort keine Templatedatensätze mehr repräsentiert. Aus diesem Grund wurde auch die Valid-Funktion überschrieben: Da die neue Klasse keine Datensätze der Datenbank mehr repräsentiert, sind instanzierte Objekte quasi immer gültig. [zurück] - [bookmarken] - [Druckversion] - [Weiterempfehlen] - [Kontakt] - [Impressum]
Copyright © 2000-2012 by Portunity GmbH - Alle Rechte vorbehalten. |
![]() ![]() Providing unter:
http://portunity.net
![]()
|
|||||||||