For a pretty cool PHP MVC Framework, check out http://www.phpmvc.net/ -Brent ----- Original Message ----- From: "Matthew Weier O'Phinney" <matthew@xxxxxxxxxx> To: <php-general@xxxxxxxxxxxxx> Sent: Thursday, October 21, 2004 9:11 PM Subject: Re: Best practices for php application > * Brent Baisley <brent@xxxxxxxxxxxx>: > > 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@xxxxxxxxxx > 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 > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php