http://qs321.pair.com?node_id=297146


in reply to Re: OT - Apache Toolkit - PHP & mod_perl
in thread OT - Apache Toolkit - PHP & mod_perl

You mentioned that you were concerned about writing maintainable code, so be careful: an in-line Perl system can be a problem, in the same way that PHP/JSP/ASP can. If you aren't careful, you'll end up with spaghetti code.
For this reason alone I have now taken Apache::ASP off my list along with Mason and Embperl. In my opinion, based on the maintenance problems of some of my earlier code, a clear and distinct separation of logic and presentation is essential. Well, for me it is anyway!

jdtoronto

Replies are listed 'Best First'.
Re: Re: Re: OT - Apache Toolkit - PHP & mod_perl
by Notromda (Pilgrim) on Oct 08, 2003 at 15:34 UTC
    For this reason alone I have now taken Apache::ASP off my list

    Don't throw it out... just do as suggested and seperate the logic. Apache::ASP can handle this very nicely.

    In your global.asa file, (and other includes) make your business logic, including functions that return the data needed to display on a page.

    In your asp pages, keep the logic simple; just simple loops to build the html structures needed, stuff like that. It should be mostly html. Use includes to refactor html that appears on multiple pages. Heck, asp includes can even take parameters that can be used to customize the file being included.

    I'm using php4, mod_perl, and Apache::ASP all in one server. Having tried several languages, I'm moving everything over to Apache::ASP, because it combines perls rich modularity (CPAN) and mature language with the ease of ASP's sessions and web handling.

    Here's my configure line for apache...(1.3.x) it doesn't build everything for you, but it seems like it is the hardest step.

    './configure' '--prefix=/usr/lib/php' '--with-imap=../imap' '--with-my +sql' '--with-zlib' '--with-apache=../apache_1.3.27' '--with-gettext' +'--enable-track-vars' '--with-db3' '--enable-bcmath' '--with-config-f +ile-path=/usr/local/apache/conf/' '--with-ldap=/usr' '--enable-ftp' ' +--without-gd' '--with-mcrypt'

    Oh, it also has ssl built in... I guess the configure script found it automatically.