PAJAJ stands for (PHP Asynchronous Javascript and JSON). PAJAJ is created by Gilbert Hyatt. It is a object oriented Ajax framework written in PHP5 for development of event driven PHP web applications. This framework follows 5 basic principles:
You do not have to be an expert at PHP, HTML, JavaScript, and CSS to use the framework. You can do most, if not all, your coding in PHP, and the framework will generate HTML, CSS, and JavaScript for you. There are object for most of the HTML element, with method to manage common task, like updating the content of a Div or items in a forms Select pull down. A lot of the other frames include a simple example that is anything but simple. For my simple example I have been asked where the rest of the code is!
This framework supports 3 different development models: i) The developer develops the whole application and interface in PHP, since the framework knows about HTML elements you want to interact with, i.e. there are objects for Select, Div, Table with instances with unique IDs; it is easy to have the framework generate simple html and CSS for you. ii) A designer generate a pretty but dump page, and you then hook events to it to make it a real application (see Last Binding of Event below) iii) You design an interface as a template (example Smarty), and have the framework make html, CSS, Javascript that you pore into the template.
PAJAJ have events delivered to the back-end, and decide there what actions to take then to write a lot of JavaScript in the front-end. What happens after an event?:
The pages HTML does not need to changed event and there logic (event handlers) are bound at run time. So your wed designer could delivery a pretty, but dump from, and without changes to the HTML you can make it into a AJAX enabled application. This make for simpler markup and an easier separation of design and code.
There are not only objects for the Ajax plumbing, but for page elements that you are interacting with. The page element objects have method to make this interact easier to program.