Re: Automated PHP Development with RSD

From: Date: Fri, 01 Aug 2003 18:02:15 +0000
Subject: Re: Automated PHP Development with RSD
References: 1  Groups: php.pear.dev php.pear.dev php.pear.general 
Request: Send a blank email to pear-dev+get-19134@lists.php.net to get a copy of this message
Hi Lukas, I'm extremely pleased to see the documentation for RSD, it's a great manual and a perfect example of how to use phpDocumentor's features. It appears you have found a bug in the Smarty converter - all the source code listings link to thin air :(. If you get a chance, grab phpDocumentor from anon cvs, and try it out to see if it fixes the problem. I agree entirely with Lukas (Smith) about looking into MDB. If you could implement some kind of html-based MDB designer (like the gtk one Alan Knowles wrote), that would be extremely powerful. Finally, if you can look into using HTML_Setup_Wizard to install the package, this will be something else :). I'd also recommend looking at using a non-compiling template engine like Dummy (http://www.ciaweb.net/free/html_template_dummy.php) when it reaches 1.0, as many users do not have the chmod option. phpDocumentor suffers from a persistent problem: if we forget to bundle newer templates_c templates, Smarty chokes when trying to overwrite existing ones. Many users have complained that phpDocumentor should not be overwriting itself, not understanding that it is Smarty compiling templates. I also like your error manager. I've been developing a similar error manager for phpDocumentor 2.0, we should compare notes. Also, take a peek at the RFC I posted yesterday on error-handling for PEAR, it would be neat if the error handler class ultimately was a superclass of a simpler error handler that is available in PEAR for all projects to use. I'd recommend using BSD, LGPL, or PHP license if you want any of it in PEAR. In your INSTALL file, you say phpDocumentor requires PHP 4.3.0 and greater. This is not entirely accurate. phpDocumentor requires 4.1.0 and greater, but it is recommended to use 4.3.0 because the use of the tokenizer enables much faster parsing and source highlighting pyrotechnics :) Also, one minor bug in the docs for RSDEngine. You use a {@see} instead of a {@link} Congrats, this looks like a very useful application. I'm probably going to be using it for my own purposes, if I can get PEAR to install on my webhost. However, PEAR is really not optimized for applications, it's almost a miracle that phpDocumentor installs, and in fact, 1.2.2 is ready to go in CVS, but won't install until publicweb gets out the door :). I would wait to propose something like this for inclusion in PEAR until all the dependency code can be resolved automatically, and there is a new application.xml to complement the package.xml. Alternatively, investigate the zzoss installer, which supports this already, but is not out of beta (http://www.zzoss.com) Regards, Greg Lukas Feiler wrote:
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.


« previous php.pear.dev (#19134) next »