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 Code | Nouveau 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(){}; |