De:0.5 Upgrade-Informationen






De:0.5 Upgrade-Informationen

Deutsche Übersetzung | Startseite
xajax Version: 0.5 | Original
Diese Übersetzung wurde als fehlerhaft markiert. Sie ist vermutlich veraltet, könnte aber auch inhaltliche Fehler enthalten. Bitte aktualisiere diesen Artikel anhand der Originalversion und entferne diesen Baustein.

xajax v0.5 beta 1 wurde veröffentlicht

Diese Seite wird mit der Zeit mit Informationen gefüllt, die die Änderungen von v0.2.x zu v0.5 vorstellen, von denen viele bereits im Folgenden zu sehen sind.


Contents

[edit] Ergänzungen

[edit] Delay-Events

Sie können jedem Aufruf nun (zusätzlich zu einem/einer globalen Delay-Event/-Funktion) spezifische Delay-Events oder "Lade..."-Funktionen zuweisen:

xajax.call('functioname',{onRequestDelay:delayFunctionName});

[edit] Plugins

xajax verfügt nun über ein Plugin-System und kann in Hinblick auf Zusammenarbeit mit anderen Frameworks (wie etwa script.aculo.us) erweitert werden. Ein Beispiel eines Plugin-Aufrufs:

xajaxResponse->plugin('scriptaculous')->fade('myDiv');


[edit] Änderungen

[edit] Request-Type

Die Möglichkeit, den Request-Type festzusetzen, wurde entfernt, da meist POST verwendet wird. POST erlaubt außerdem die Übermittlung von größeren Datenmengen bei jedem Request. Die GET-Request-Methode wird als Ausweichlösung genommen, falls ein POST-Request fehlschlägt.

[edit] Response-Befehle

xajaxResponse wurde umbenannt, um zukünftig andere Methoden des Datentransports zu erlauben. Neuerdings werden Response-Befehle in einem Feld gespeichert; das Feld wird in XML konvertiert, bevor die Response abgeschickt wird. Zuvor wurde das XML erstellt, wenn Befehle zur Response hinzugefügt wurde, indem der neue Code an die Rückgabe angehängt wurde.

[edit] Ordnerstruktur

Die Ordnerstruktur von xajax wurde verändert, um die Trennung von PHP- und JavaScript-Dateien zu ermöglichen. Alle PHP-Dateien befinden sich in xajax_core, alle Javascript-Dateien in xajax_js.

[edit] Neubennenung von Methoden

Hinweis: Sie können weiterhin die alten Methoden verwenden, wenn Sie die Klasse legacyXajax() anstelle von xajax() bzw. legacyXajaxResponse() anstelle von xajaxResponse() instanzieren.


xajax-Methoden

xajax->processRequests() wurde zu xajax->processRequest()

Alle boolschen Einstellungen wie xajax->debugOn(); und xajax->outputEntitiesOn(); wurden zu xajax->setFlag('debug',true) bzw. xajax->setFlag('outputEntities',true); xajax->setFlags() kann alternativ ein Feld übergeben werden: xajax->setFlags(array('debug'=>true,'outputEntities'=>true));

xajax->registerExternalFunction() wurde in xajax->registerFunction() integriert, so dass xajax->registerFunction() nun ein zweiter Parameter übergeben wird: xajax->registerFunction('functionName', 'file.php')


xajaxResponse-Methoden

Die meisten Methoden der xajaxResponse-Klasse wurden verändert. Das verwirrende 'add'-Präfix wurde aus den Namen der meisten Funktion entfernt. xajaxResponse->addScript() wird also zu xajaxResponse->script(), xajaxResponse->addAssign() zu xajaxResponse->assign() usw. Das macht das Verketten von Response-Befehlen mit PHP5 zu einem Vergnügen:

$response
 ->alert("Hi!")
 ->assign("myDiv""innerHTML"$stuff)
 ->plugin('script.aculo.us')->highlight("myDiv")
 ->scriptCall('finishEditing'$newID);

xajaxResponse->getXML() wurde entfernt. Geben Sie einfach das xajaxResponse-Objekt zurück.


[edit] Kurzübersicht

Alter CodeNeuer Code
 
require_once('xajax.inc.php');require('xajax_core/xajax.inc.php');
 
xajax->debugOn();xajax->setFlag('debug',true);
xajax->debugOff();xajax->setFlag('debug',false);
xajax->statusMessagesOn();xajax->setFlag('statusMessages',true);
xajax->statusMessagesOff();xajax->setFlag('statusMessages',false);
xajax->decodeUTF8InputOn();setFlag('decodeUTF8Input',true)
xajax->registerExternalFunction('function','file.php');xajax->registerFunction('function','file.php');
xajax->processRequests();xajax->processRequest();
 
xajaxResponse->loadXML($response);xajaxResponse->loadCommands($response);
return xajaxResponse->getXML();return xajaxResponse
xajaxResponse->addAssign();xajax->assign()
xajaxResponse->addAlert();xajax->alert()
xajaxResponse->addScript();xajax->script()
xajaxResponse->addScriptCall();xajax->call()
 
xajax.call('functionName',args);xajax.call('functionName',{parameters:args});
xajax.loadingFunction = function(){};xajax.eventFunctions.globalRequestDelay = function(){};
xajax.doneLoadingFunction = function(){};xajax.eventFunctions.globalRequestComplete = function(){};