What is phpWebApp
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. It 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.
Some of the features of the 'phpWebApp' framework, and the advantages and
benefits of using it for building web applications, are these:
- 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.
Installation
phpWebApp is written in PHP, and it works in a Linux+Apache
webserver. It may be possible to fix it in order to make it
work in other platforms or webservers, however this is not
supported.
To install the phpWebApp framework you don't need to make or build
anything, just get it and extract it to your DocumentRoot folder (the
folder where your web server looks for web documents).
Download the latest release, or get it from
CVS@sourceforge (login as anonymous
and checkout the modules web_app, documentation,
app1, app2 etc.).
Related Links
Copying
Copyright 2001, 2002, 2003 Dashamir Hoxha,
dashohoxha@users.sf.net
phpWebApp is free software;
you can redistribute it and/or modify it under the terms of the
GNU General Public License
as published by the
Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
phpWebApp is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License
for more details.
You should have received
a copy of the GNU General Public License
along with phpWebApp; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA