AjaxHandler
1.0.0
switch
.Êtes-vous fatigué d'écrire encore et encore le même code de gestionnaire Ajax sur chacun de vos projets ? Il y a toujours les mêmes étapes et les mêmes problèmes, est-ce que la gestion des en-têtes est correcte ? Est-ce que ça fonctionnera avec jQuery ? Codes de statut ? JSONP ?
Eh bien, j'ai rassemblé tous les morceaux de code et créé l'AjaxHandler. C'est une classe PHP très simple dont vous pouvez hériter et créer facilement vos propres gestionnaires Ajax.
Voici une liste des fonctionnalités fournies par Ajax Handler
json_encode
lors de la sortie.Voici un exemple très basique d'AjaxHandler utilisé, disons que c'est person.php
<?php
include " AjaxHandler.php " ;
class Person extends AjaxHandler{
/**
* Private function will not be accessed from outside
* @return Mongo Collection
*/
private function getMongo (){
$ m = new Mongo ();
$ db = $ m -> selectDB ( ' main ' );
$ cl = $ db -> selectCollection ( ' people ' );
return $ cl ;
}
/**
* All I write here is the code
* I didn't write anything to handle output
* If the code gives an exception, ajax
* handler will return error, If Everything is successfull
* Standart success message will be returned
* @return [type] [description]
*/
public function createPerson (){
$ db = $ this -> getMongo ();
$ result = $ cl -> save ( array (
" name " => $ this -> get ( ' name ' ),
" age " => $ this -> get ( ' age ' )
));
}
/**
* Here is the code for handling your own messages
* @return [type] [description]
*/
public function getPersonDetails (){
$ db = $ this -> getMongo ();
$ cursor = $ db -> fetch ( array ( ' name ' => $ this -> get ( ' name ' )));
if ( $ cursor -> count () === 0 ){
// Will produce an error
// {"success": false, "error": "Person cannot be found"}
$ this -> error ( ' Person cannot be found ' );
} else {
// Will giveout a JSON success message
// {
// "success": true,
// "details":{"name":"john", "age":"29"},
// "message":"Operation successful"
// }
$ this -> success ( array (
" details " => $ cursor -> first ()
));
}
}
}
?>
Vous pouvez facilement faire des requêtes avec jQuery
$ . ajax ( {
url : 'person.php' ,
data : {
action : 'createPerson' ,
name : 'john' ,
age : 29
} ,
dataType : 'json' ,
complete : function ( res ) {
if ( res . success ) {
alert ( 'User Saved' ) ;
} else {
alert ( 'Error: ' + res . error ) ;
}
}
} ) ;
J'écrirai bientôt une documentation plus détaillée.