Automated PHP Development with RSD
| From: | Lukas Feiler | Date: | Fri, 01 Aug 2003 15:31:24 +0000 |
| Subject: | Automated PHP Development with RSD | ||
| Groups: | php.pear.dev php.pear.general | ||
| Request: | Send a blank email to pear-dev+get-19129@lists.php.net to get a copy of this message | ||
Hi list,
I developed a framework in my free time (for primary use at the company
I am working for)
that hopefully (!) makes PHP application development more efficient. The
basic idea was that
the design and the implementation of a lot of applications are more or
less the same - what
always differs is the analysis. So why not write a tool that gets the
analysis (in our
case the database design with some additional information) as input and
outputs ready-to-run
code.
I called it RSD (Rapid and Secure Development).
It is available at: http://www.unet.univie.ac.at/~a0201227/
Features:
Exhaustive Documentation (user level docs & API docs)
All web applications developed with RSD implement the Design Model -
MVC.
The regression testing framework for unit tests PEAR::PHPUnit is
integrated to ease quality assurance.
The PHP API documentation tool PHPDocumentor for easy documentation of
your projects.
EVS - The Easy Versioning System for managing the application
development.
The RSDEngine - The Rapid and Secure Development Engine for automated
and therefore rapid and secure development based on the following
packages:
The Database Abstraction Layer PEAR::DB
The Authentication System PEAR::Auth
An extended version of Auth_Container_DB: Auth_Container_RSDB
The Authentication and Permission Management Framework
PEAR::LiveUser
The Mail Sending Class PEAR::Mail
The Error Manager RSErrorManager
The Template Engine Smarty
RSArrayUtil - A Utility Class for complex Array operations
MagicQuotesUtil - A Utility Class that makes you application
work no matter if magic quotes are turned on or off.
You get the most out of the RSDEngine when developing a database back
ended web application with and authentication and an authorization
system (using LiveUser). You make the database design and specify the
options for the authentication system and specify which rights are
required for
which tables/records and the RSDEngine does the rest:
It creates the application model - all truly object orientated. The
classes, the RSDEngine will generate for each table will only
select/insert/update/create records if the currently logged in user has
the specified right to perform this specific operation.
The RSDEngine creates as well the necessary controllers and (smarty-)
templates for selecting, inserting, updating and deleting
records from each table.
Download the sample project from http://www.unet.univie.ac.at/~a0201227/
if you like.
Is RSD worth a PEAR package? Or one of the sub-projects, especially
MagicQuotesUtil or RSErrorManager? Any good at all? What do you think?
Regards,
Lukas
Legal notice:
I am not sure yet under which license RSD will be published. But
everybody who receives this mail can consider him/herself
as the owner of a license that allows him/her to use RSD for commercial
and non-commercial projects. But be aware that you are not allowed
to publish or even sell RSD as a product itself.