phpWebApp is an application framework which makes easy and simple the task of building PHP web applications based on relational databases. It separates the task of designing and changing the layout of the application from the task of implementing the logic of the application, by using XML templates that are an extension of XHTML.
The project also simplifies the task of implementing the logic of the application by offering an event based programming model. In addition, phpWebApp tries to offer modularity and code reusability to the community of webApp developers.
Here are some key features of "phpWebApp":
· The framework separates the layout from the logic of the application, so a graphical designer can easily improve the layout of the application without getting messed with the logic and without having to understand it. It makes easier the work of both the graphical designer and the programer. This also facilitates an iterative and incremental development approach for web application projects.
· The framework gives the possibility to divide a page into several parts which can be used in other pages as well. This makes the user interface of the application (the layout, the graphical part) more structured and easier to understand and maintain and makes easier the work of the graphical designer.
· The framework looks at web applications from a new point of view. From this point of view, a web application is a state machine, which can be represented and described by one or more statechart diagrams. Each page of the application that is displayed, represents the application in a certain state. Clicking to a link causes a transition to another state of the application. This simplifies the design and the implementation of web applications. Later, if this point of view is formalised and elaborated enough, it may provide the theoretical bases for automatic code generation of web applications from state chart diagrams (e.g. from UML state chart diagrams), and for reverse engineering.
· The framework supports an event based programing model. When a transition from one state of the application to another happens, it may trigger an event as well, which is handled by a function (event handler). This makes the logic of the application easy to build, understand and maintain, and makes easy the work of the web programer.
· The framework gives to the web programers the possibility to create independent web components (called WebBox-es) which have their own user interface (graphical design), client side behaviour, server side behaviour, states, events, event handlers, etc. These components can be very easily reused in other web applications and thus provide code reusability to web programers. This means that if you have constructed something once, you don't have to re-construct it again when you need it another time, but use it ready.
· The framework brings closer the client-side and the server-side logic of a web application. E.g. the session variables (which are usually used to keep the state of various parts of the application), are available and can be accessed both on client side and on server side.
· The framework makes the interaction with the database almost database independent. This means that in case that you decide to change the database on which your application is based (e.g. switching from MySQL to Oracle), then the application itself doesn't need to be changed at all, it will work all the same.
What's New in This Release:
· Bugfixes and some improvements in documentation were made.