Re: Newbie - Redirect to do processing
Available news archives: comp.lang.tcl - comp.lang.python - comp.security.firewalls - sci.crypt - comp.lang.php - comp.lang.javascript
Google
 
Web news.hping.org


comp.lang.php archive

Re: Newbie - Redirect to do processing

From: Lüpher Cypher <lupher.cypher@verizon.net>
Date: Sat Dec 31 2005 - 15:44:56 CET

hajaansh@googlemail.com wrote:
> Hi there,
>
> I am creating my own php site but am a bit concerned with putting all
> form processing into a page that is also displaying stuff (i get
> overwhelmed with very long pages and like to separate processing from
> displaying for maintainability). I found a possible way of separating
> processing through using a redirection such as:
>
> header("Location:" . mylocation);
>
> so if i was logging into my site instead of going straight to the page
> it needs to go to and doing all the post processing there I would have
> a "processing page" which would redirect me to the correct location
> perhaps depending on what was written. So if the incorrect password was
> given it would go to an error page otherwise the user would be
> successfully logged in. My processing pages would be in effect the
> controller in the MVC pattern.
>
> I was wondering if there were any problems people see in this and in
> what situations people use it if at all and in which cases not. It
> seems a misuse but if it works....who cares?
>
> It may even be standard practise but I have looked at quite a lot of
> open source php projects and found that most people do a lot of
> processing in the pages that do the displaying.
>
> Cheers for all your advice,
>
> funky
>

I don't think doing everything in one place is a good way. That's why
they invented MVC :)
Anyways, one way would be:

Have a control url parameter, say, page.
Define an array like this:

$pages = array(
   "id1" => "class1",
   "id2" => "class2",
   ...
   "idN" => "classN"
);

Now have a script retrieve the url parameter, and instantiate the
respective class. Have all classes have a method to output content:

$id = $_REQUEST["page"];
$class = $pages[$id];
$obj = new $$class();
$obj->output();

The script will be your controller, the array will be the model, and the
classes will be the viewports, perhaps together with persistence layer.

This is, of course, overly simplified :)

luph
Received on Tue Jan 3 03:51:00 2006