Re: Best practices for php application
| From: | Brent Clements | Date: | Fri, 22 Oct 2004 05:40:41 +0000 |
| Subject: | Re: Best practices for php application | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-200058@lists.php.net to get a copy of this message | ||
For a pretty cool PHP MVC Framework, check out
http://www.phpmvc.net/
-Brent
----- Original Message -----
From: "Matthew Weier O'Phinney" <matthew@garden.org>
To: <php-general@lists.php.net>
Sent: Thursday, October 21, 2004 9:11 PM
Subject: Re: [PHP] Best practices for php application
> * Brent Baisley <brent@landover.com>:
> > On Oct 21, 2004, at 12:47 PM, abrea wrote:
> > > Dear list,
> > > Does anybody know of a url where I can find reading materials about
> > > best practices to organize the filesystem and variable structure of
> > > a php application? Although application purposes probably vary
> > > widely, I imagine that in one way or other most include adding,
> > > updating, deleting and displaying records, so there might be some
> > > standard or preferred procedure.
> >
> > That's a whopper of an open ended question. I found the biggest help
> > for me was reading up on the MVC (Model, View, Controller) technique,
> > which is probably the most commonly used "design pattern" for just
> > about any language.
>
> Hear, hear! I first ran into this pattern when programming in Perl -- I
> stumbled across CGI::Application, tried it out, and wondered how anybody
> would program any other way. (Obligatory self-promotion: I've since
> ported it to PHP -- http://freshmeat.net/projects/cgiapp/ ).
>
> For the OP, the basic idea behind an MVC pattern is:
>
> * Model -- separate code that deals with manipulating your data store
> into classes or distinct functions grouped in a file
> * View -- separate code that deals solely with presentation logic ("if
> the user is an administrator, show these links; otherwise, show
> these") into files of their own (or use a template engine)
> * Controller -- separate code that deals with user input and validations
> into a controller.
>
> Typically, your controller is either the actual script for the
> application or a class that can be invoked with metadata (read:
> customizable applications!). It then takes input, validates and filters
> it, and passes it to the Model code. The data it receives back from the
> Model is either piped directly back to the View, or acted upon and
> further transformed before doing so.
>
> Learning to program this way is difficult at first -- it's a far cry
> from opening a file, writing out a few statements, and executing it.
> However, the flexibility it affords, and the maintainability, are
> invaluable.
>
> I'm not sure of any URLs to give the OP. I'd highly recommend "The
> Pragmatic Programmer", by Hunt and Thomas (Addison Wesley Press).
> Another place to look might be the Horde's CVS collection -- to see how
> other PHP programmers do it.
>
> --
> Matthew Weier O'Phinney |
> mailto:matthew@garden.org
> Webmaster and IT Specialist | http://www.garden.org
> National Gardening Association |
> http://www.kidsgardening.com
> 802-863-5251 x156 |
> http://nationalgardenmonth.org
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>