RE: Re: PHP Application Structre

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----Original Message-----
From: richard gray [mailto:rich@xxxxxxxxxxxx] 
Sent: 10 May 2010 07:05 PM
Subject: Re:  Re: PHP Application Structre

On 10/05/2010 18:17, Ashley Sheridan wrote:
> It makes sense sometimes to have different files for different 
> sections of a website. For example, blog.php, gallery.php, cart.php 
> could deal with the blog, gallery and shopping cart sections for an 
> artists website. Yes, it could all be achieved with one script 
> handling everything, but sometimes when the areas of the site differ 
> greatly, it results in a lot of extra code to deal with pulling in the 
> right template and content parts. I've always favoured only including 
> the code a page needs rather than a huge amount of stuff that it doesn't.
>    
this isn't necessarily true - the architecture I've developed uses a single
dispatch script (works fine with the mod rewrite option 2 scenario as well)
- this script does general checks/security/filters etc then simply
determines what page/function the user wants from the request ($_GET/$_POST
parameter) and passes control to the specific handler via including the
relevant controller module. The controller module is responsible for which
template is required and loads up specific classes needed to process the
request etc so each module just loads its own stuff and nothing else so
there's no overhead.

This method also has a small extra benefit that the web server document root
just has a very simple 2 liner script instead a myriad of php scripts... if
the webserver is misconfigured then someone who sees the source code doesn't
get to see much..

Just my 0.02 Euros
Cheers
Rich
--

This is the design I also use. My single entry point (or dispatch script) is
only 12 lines of code and never changes, even though the application is
constantly updated and expanded. It doesn't load 100's of KB, instead relies
on the next (module) layer to load its own requirements. But it does ensure
the environment is correct, input checked, db connected, core api's loaded.
It's really six of one and half-a-dozen of the other because all designs end
up at more or less the same point, but for me this was the most efficient,
flexible and expandable design after trying several approaches. Even major
design changes like registering modules and scripts and adding mod-rewrite
can be done without needing to change the entry script. If another
completely unrelated app is ever added I'll just call it's script as Ashley
described.

The design allows for some interesting options, like a single installed app
running multiple domains.

We use cents and they're worthless...
Cheers
Arno



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux