FR:MAJ:0.2.4--0.5






FR:MAJ:0.2.4--0.5

Xajax arrive a sa version 0.5. Cette page , au fil du temps, sera rempli d'informations montrant les changements jusqu'à la v0.5, et les effets qu'ils auront sur votre code.


Contents

[edit] Changement de Conception

La séparation entre les requêtes GET et POST a été enlevé puisque la plupart des personnes utilisent la requête POST. GET est maintenant utilisé automatiquement au cas ou POST ne fonctionne pas.

xajaxResponse a été réécrite pour être capable de travailler avec d'autre type de flux que les flux XML en enregistrant les informations dans un tableau interne et en créant la réponse XML à la fin plutôt que de la créer comme vous le demandez.

La structure des répertoires a été changé pour séparer les fichiers PHP et Javascript. Tous les fichiers PHP sont dans xajax_core et tous les fichiers Javascript sont dans xajax_js.

[edit] Nouvelles Fonctions

Delay events, or 'Loading...' functions can be assigned to individual xajax function calls using xajax.call('functioname',{onRequestDelay:delayFunctionName});

Xajax a un système de plugins pour travailler avec d'autres frameworks tel que script.aculo.us pour faire quelque chose comme

xajaxResponse->plugin(‘scriptaculous’)->fade(‘myDiv’);

[edit] Renommage des méthodes

Vous pouvez utiliser toutes les vieilles méthodes en instanciant legacyXajax() au lieu de xajax() et legacyXajaxResponse() au lieu de xajaxResponse().

Méthodes xajax

xajax->processRequests() est devenue xajax->processRequest()

Toutes les options boolénnes telles que xajax->debugOn(); et xajax->outputEntitiesOn(); sont devenues xajax->setFlag('debug',true); et xajax->setFlag('outputEntities',true);

xajax->setFlags() prend aussi de tableaux comme xajax->setFlags(array('debug'=>true,'outputEntities'=>true));

xajax->registerExternalFunction() a été intégré avec xajax->registerFunction() donc il y a un nouveau second paramètre optionnel dans xajax->registerFunction() Exemple : xajax->registerFunction('functionName', 'file.php')


Méthodes xajaxResponse

La plupart des méthodes xajaxResponse ont changées. Le préfixe 'add' a été enlevé la plupart du temps donc xajaxResponse->addScript() devient xajaxResponse->script(), xajaxResponse->addAssign() devient xajaxResponse->assign(). Ceci rend plus amusant l'enchainement des réponses avec PHP5 :

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

xajaxResponse->getXML() a disparu. Il vous suffit maintenant de retourner l'objet de réponse que vous avez créé.

[edit] Table de référence

Ancien CodeNouveau 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(){};