setPluginLoader($loader, $type): $loader ist das Plugin Loader Objekt
selbst. Das setzt den Plugin Loader für den gegebenen Typ zu dem neu spezifizierten
Loader Objekt.
getPluginLoader($type): Empfängt den mit $type assoziierten Plugin
Loader.
addPrefixPath($prefix, $path, $type = null): Fügt eine Präfix/Pfad
Assoziation zum durch $type spezifizierten Loader hinzu. Wenn $type null ist,
versucht es den Pfad allen Loadern hinzuzufügen, durch anhängen des Präfix an jedes
"_Element" und "_Decorator"; und anhängen des Pfades an "Element/" und
"Decorator/". Wenn man alle Extra Form Elementklassen in einer normalen Hierarchie
sind, ist das die übliche Methode für das Setzen eines Basispräfix für Sie.
addPrefixPaths(array $spec): Erlaubt es viele Pfade auf einmal zu
einem oder mehreren Plugin Loadern hinzuzufügen. Sie erwartet das jedes Array
Element ein Array mit den Schlüsseln 'path', 'prefix' und 'type' ist.
addElementPrefixPath($prefix, $path, $type = null): Wie
addPrefixPath(), nur das ein Klassenpräfix und ein Pfad spezifiziert
werden muß. Wenn $type spezifiziert wurde, muß er einer der Plugin
Loader Typen sein die in $type Werte. Wenn kein
$type spezifiziert wurde, nimmt diese Methode an das ein genereller
Präfix für alle Typen spezifiziert wurde.
addDisplayGroupPrefixPath($prefix, $path): Wie
addPrefixPath() nur das Klassenpräfix und ein Pfad spezifiziert werden
muß; Trotzdem, da Anzeigegruppen nur Dekoratore als Plugin unterstützen, ist kein
$type notwendig.
addElement(). Diese Methode kann entweder ein Objekt vom Typ
addElement() implementiert das Fluent Interface; das heißt es gibt das
createElement() verwendet werden, welches anbei beschrieben wird.
Trotzdem vorsicht, da createElement() das Element nicht der Form
hinzufügt.
addElement() verwendet intern createElement() um das
Element zu erstellen bevor es der Form hinzugefügt wird.
getElement() Methode,
oder durch Verwendung von Überladen um auf das Element als Objekteigenschaft
zuzugreifen:
createElement() Methode erlaubt das:
getValues();
getValue($name) erlabt es ausserdem den Wert eines einzelnen Elements
durch den Elementnamen zu erhalten:
setDefaults() oder
populate() Methoden getan werden:
reset()
Methode durchgeführt werden:
setElementDecorators() akzeptiert ein Array von Dekoratoren, wie
setDecorators(), und überschreibt jeden vorher gesetzten
Dekorator in jedem Element. In diesem Beispiel wird der Dekorator einfach auf
einen ViewHelfer und ein Label gesetzt:
setElementDecorators() kann ein Array von Elementnamen sein;
standardmäßig setzt so ein Array den spezifizierten Dekrator nur auf diese
Elemente. Man kann auch einen dritten Parameter angeben, ein Flag das anzeigt ob
diese Liste von Elementen einbezogen oder ausgegrenzt werden sollen. Wenn das
Flag false ist, werden alle Elemente dekoriert setElementDecorators() wie eine gute Lösung ausschaut
gibt es einige Fälle in denen es zu unerwarteten Ergebnissen führen kann.
Zum Beispiel verwenden die verschiedenen Button Elemente (Submit, Button,
Reset) aktuell das Label als Wert des Buttons, und verwenden nur den
ViewHelper und DtDdWrapper Dekorator -- was zusätzliche Labels, Fehler und
Hinweise für die Darstellung verhindert. Das obige Beispiel würde einige
Inhalte (das Label) für Button Elemente duplizieren.
trim()men:
createElement($element, $name = null, $options = null)
addElement($element, $name = null, $options = null)
addElements(array $elements)
setElements(array $elements)
getElement($name)
getElements()
removeElement($name)
clearElements()
setDefaults(array $defaults)
setDefault($name, $value)
getValue($name)
getValues()
getUnfilteredValue($name)
getUnfilteredValues()
setElementFilters(array $filters)
setElementDecorators(array $decorators)
addElementPrefixPath($prefix, $path, $type = null)
addElementPrefixPaths(array $spec)
addDisplayGroup() Methode von getDisplayGroup() Methode zugegriffen
werden, oder über Überladung inden der Name der Anzeigegruppe verwendet wird:
addDisplayGroupPrefixPath() Methode verwendet werden.
setDisplayGroupDecorators() akzeptiert ein Array von Dekoratoren,
wie setDecorators(), und überschreibt alle vorher gesetzten
Dekoratore in jeder Anzeigegruppe. In diesem Beispiel setzen wir die
Dekoratore einfach auf ein Fieldset (der FormElements Dekorator ist notwendig
um sicherzustellen das die Elemente iterierbar sind):
addDisplayGroup() erlaubt es nicht eine konkrete Instanz zu
übergeben, aber sie erlaubt es eine Klasse zu spezifizieren die als eine
Ihrer Optionen verwendet wird, indem der 'displayGroupClass' Schlüssel verwendet
wird:
addDisplayGroup(array $elements, $name, $options = null)
addDisplayGroups(array $groups)
setDisplayGroups(array $groups)
getDisplayGroup($name)
getDisplayGroups()
removeDisplayGroup($name)
clearDisplayGroups()
setDisplayGroupDecorators(array $decorators)
addDisplayGroupPrefixPath($prefix, $path)
setDefaultDisplayGroupClass($class)
getDefaultDisplayGroupClass($class)
setOptions(array $options)setConfig(Zend_Config $config)setAttrib($key, $value)addAttribs(array $attribs)setAttribs(array $attribs)getAttrib($key)getAttribs()removeAttrib($key)clearAttribs()setName($name)getName()setDescription($value)getDescription()setLegend($legend)getLegend()setOrder($order)getOrder()createElement($type, $name, array $options = array())
addElement($typeOrElement, $name, array $options =
array())
addElements(array $elements)setElements(array $elements)getElement($name)getElements()removeElement($name)clearElements()setPluginLoader(Zend_Loader_PluginLoader $loader)
getPluginLoader()addPrefixPath($prefix, $path)addPrefixPaths(array $spec)addDecorator($decorator, $options = null)addDecorators(array $decorators)setDecorators(array $decorators)getDecorator($name)getDecorators()removeDecorator($name)clearDecorators()setView(Zend_View_Interface $view = null)getView()render(Zend_View_Interface $view = null)setTranslator(Zend_Translate_Adapter $translator =
null)
getTranslator()setDisableTranslator($flag)translatorIsDisabled()getSubForm($name) oder
Überladung mithilfe des Namens der Subform verwendet wird:
setSubFormDecorators()
Methode. Im nächsten Beispiel setzen wir den Dekorator für alle Subformen einfach
auf ein Fieldset (der FormElements Dekorator wird benötigt um sicherzustellen das
seine Elemente iterierbar sind):
addSubForm(Zend_Form $form, $name, $order = null)
addSubForms(array $subForms)
setSubForms(array $subForms)
getSubForm($name)
getSubForms()
removeSubForm($name)
clearSubForms()
setSubFormDecorators(array $decorators)
Countable Interface,
welches es erlaubt es als Argument fürs Zählen zu übergeben:
<form> Tags verwendet.
addDecorator(), kann ein Array mit einem einzelnen Argument übergeben
werden, mit dem Alias der auf das Dekorator Objekt oder den Namen zeigt:
addDecorators() und setDecorators() Methoden muß
die 'decorator' Option im Array übergeben werden das den Dekorator repräsentiert:
addDecorator($decorator, $options = null)
addDecorators(array $decorators)
setDecorators(array $decorators)
getDecorator($name)
getDecorators()
removeDecorator($name)
clearDecorators()
__call() interagiert mit Methoden die
mit dem Text 'render' beginnen und verwendet den Rest des Methodennamens um nach einem
Dekorator zu suchen; wenn er gefunden wird, wird dieser render() Methode des Dekorators übergeben. Als Beispiel:
Das ist der Fieldset Inhalt
"); ]]>isValid() Methode verwendet werden:
isValid() prüft jedes benötigte Element, und jedes nicht benötigte Element
das in den übermittelten Daten enthalten ist.
isValidPartial($data) verwendet werden:
isValidPartial() versucht nur die Teile zu prüfen für die es passende
Elemente gibt; wenn ein Element nicht in den Daten repräsentiert ist, wird es
übersprungen.
processAjax() führt das präzise durch:
getErrors() und
getMessages() verwendet werden:
getMessages() zurückgegeben werden in einem
Array von Fehlercode/Nachricht Paaren sind, wird getErrors()
normalerweise nicht benötigt.
isValid() Methode der Elemente: Das Array der
Daten die geprüft werden sollen. Das kann von individuellen Prüfern verwendet werden
um Ihnen zu erlauben andere übertragene Werte zu verwenden wenn die Gültigkeit der
Daten ermittelt wird. Ein Beispiel wäre eine Registrations Form die beide benötigt,
ein Passwort und eine Passwort Bestätigung; das Passwort Element könnte die
Passwort Bestätigung als Teil seiner Prüfung verwenden.
addErrorMessage($message): Fügt eine Fehlermeldung hinzu die bei
Form-Überprüfungs-Fehlern angezeigt wird. Sie kann mehr als einmal aufgerufen
werden, und neue Meldungen werden dem Stack angehängt.
addErrorMessages(array $messages): Fügt mehrere Fehlermeldungen
hinzu die bei Form-Überprüfungs-Fehlern angezeigt werden.
setErrorMessages(array $messages): Fügt mehrere Fehlermeldungen
hinzu die bei Form-Überprüfungs-Fehlern angezeigt werden, und überschreibt alle
vorher gesetzten Fehlermeldungen.
getErrorMessages(): Empfängt eine Liste von selbstdefinierten
Fehlermeldungen die vorher definiert wurden.
clearErrorMessages(): Entfernt alle eigenen Fehlermeldungen die
vorher definiert wurden.
markAsError(): Markiert das Element wie wenn die Überprüfung
fehlgeschlagen wäre.
addError($message): Fügt einen Fehler zum eigenen Stack der
Fehlermeldungen hinzu und markiert das Element als ungültig.
addErrors(array $messages): Fügt mehrere Nachrichten zum eigenen
Stack der Fehlermeldungen hinzu und markiert das Element als ungültig.
setErrors(array $messages): Überschreibt den eigenen Stack der
Fehlermeldungen mit den angegebenen Meldungen und markiert das Element als
ungültig.
setOptions(array $options)setConfig(Zend_Config $config)setPluginLoader(Zend_Loader_PluginLoader_Interface $loader, $type
= null)
getPluginLoader($type = null)addPrefixPath($prefix, $path, $type = null) addPrefixPaths(array $spec)addElementPrefixPath($prefix, $path, $type = null)addElementPrefixPaths(array $spec)addDisplayGroupPrefixPath($prefix, $path)setAttrib($key, $value)addAttribs(array $attribs)setAttribs(array $attribs)getAttrib($key)getAttribs()removeAttrib($key)clearAttribs()setAction($action)getAction()setMethod($method)getMethod()setName($name)getName()addElement($element, $name = null, $options = null)
addElements(array $elements)setElements(array $elements)getElement($name)getElements()removeElement($name)clearElements()setDefaults(array $defaults)setDefault($name, $value)getValue($name)getValues()getUnfilteredValue($name)getUnfilteredValues()setElementFilters(array $filters)setElementDecorators(array $decorators)addSubForm(Zend_Form $form, $name, $order = null)addSubForms(array $subForms)setSubForms(array $subForms)getSubForm($name)getSubForms()removeSubForm($name)clearSubForms()setSubFormDecorators(array $decorators)addDisplayGroup(array $elements, $name, $options = null)
addDisplayGroups(array $groups)setDisplayGroups(array $groups)getDisplayGroup($name)getDisplayGroups()removeDisplayGroup($name)clearDisplayGroups()setDisplayGroupDecorators(array $decorators)populate(array $values)isValid(array $data)isValidPartial(array $data)processAjax(array $data)persistData()getErrors($name = null)getMessages($name = null)setView(Zend_View_Interface $view = null)getView()addDecorator($decorator, $options = null)addDecorators(array $decorators)setDecorators(array $decorators)getDecorator($name)getDecorators()removeDecorator($name)clearDecorators()render(Zend_View_Interface $view = null)setTranslator(Zend_Translate_Adapter $translator = null)
getTranslator()setDisableTranslator($flag)translatorIsDisabled()setOptions() und
setConfig() vollständig konfigurierbar (oder durch die Übergabe von
Optionen oder einem setAttrib() übergeben.
prefixPaths wird übergeben an
addPrefixPaths()
elementPrefixPaths wird übergeben an
addElementPrefixPaths()
displayGroupPrefixPaths wird übergeben an
addDisplayGroupPrefixPaths()
setAttrib (da setAttribs *wird* funktionieren)setConfigsetDefaultsetOptionssetPluginLoadersetSubFormssetTranslatorsetViewinit() Methode zu verwenden
um spezielle Form Elemente und Konfigurationen zu definieren:
loadDefaultDecorators()
Methode durchgeführt werden: