What is RSD?
RSD is a development environment that makes PHP appliction development faster and more secure.
EVS - The Easy Versioning System for managing the application development.
All web applications developed with RSD implement a certain Design Model - MVC.
RSD implements and applies the RSD Coding Conventions (see the docs)
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.
The RSDEngine - a code generator for automated and therefore rapid
and secure development based on the following packages:
You get the most out of the RSDEngine when developing a database backended web application with and authentication and an
authorization system. 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:
- 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
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
The RSDEngine creates as well the necessary controllers and (smarty-) templates for selecting, inserting, updating and deleting
records from each table.
RSDEngine - The Core Component
The basic idea of the RSDEngine is to sepeate things that change from things that do not.
What does change in every application is the data that is managed with it - the database
design. But what does not change, is the way this data is created, updated, selected or
deleted. Everything or let's say the most of the things that 'stay the same' can be
therefore generated. The rest is analysis and cannot be performed by a computer but by an
analyst - a database designer! The RSDEngine needs the result of the analysis - the
database design - and a few other configuration options as input and outputs an
implementation of this analysis based on a very modular and flexible design.
RSD is released under the terms of the
Lesser General Public License (LGPL).
The primary target of RSD is to increase the
productivity of rather small development teams (2 - 10 developers). If your development team is
learger that 10, RSD might still be a great help but you should consider additionally using CVS.
But for a lot of
small companies CVS is not really an option because the HTML-guy or the graphic designer will refuse
to learn CVS.
About the Author
I am working in a small company developing database applications with PHP and MySQL or
Oracle. I do as well all the Linux system adminstration necessary to keep our
applications running. The other half of the week I am studying law at the
University of Vienna which turned out to be as much
fun as programming because in the end, it's all about logics. Luckily I am
also as successful in my studies as in my job.
Somewhere in between I find some time
to continue the development on RSD and the second project I've got running (please see dumpnet.sourceforge.net).
Please feel free to contact me by writing to