Thanks - very useful way of looking at things. I think I'll opt for applying this principle to the way I plan to improve my system. Currently far too bulky. Of course, now the project has progresse, finding time to refactor and effectively build most of it from scratch, is quite hard.
Cheers Chris -----Original Message----- From: Justin Patrin [mailto:[EMAIL PROTECTED] Sent: 30 January 2004 17:19 To: [EMAIL PROTECTED] Subject: [PHP] Re: OOP methodology Wow, that's a lot of stuff in one class. Personally, I've started using the MVC (Model, View, Controller) architecture. Basically what it does is seperates Data logic from Display logic and Control logic. Here's how I've been using it. Model: Holds and deals with all data for the program, such as database connections / queries, session data, data consistency. I am currently using classes which use PEAR DB_DataObject for DB connections, querying, and data storage. View: Deals with displaying of data from model. ONLY does displaying, no processing. Very minimal logic only associated with outputting. Currently, I am using Smarty entirely for the view. Little no no PHP code, only Smarty. The View in this case is just a smarty template file. Controller: Handles requests from the browser. Instantiates Model and View, calls functions in Model to alter its state (updating from $_REQUEST vars, for instance). Chooses a view and then tells the view to display. For me, this is all home-grown PHP. This architecture can be much more complicated in, say, a C++ program, but the Server/Client pattern built into web programs makes it much more simple. The reason that I use this particular architecture is that it factors all of the pieces of your program very nicely. Later, if you do things right, you can use a single screen from one program in another with minimal editing. Here's a few pages that discuss MVC: http://ootips.org/mvc-pattern.html http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php If you are not the intended recipient of this e-mail, please preserve the confidentiality of it and advise the sender immediately of any error in transmission. Any disclosure, copying, distribution or action taken, or omitted to be taken, by an unauthorised recipient in reliance upon the contents of this e-mail is prohibited. Somerfield cannot accept liability for any damage which you may sustain as a result of software viruses so please carry out your own virus checks before opening an attachment. In replying to this e-mail you are granting the right for that reply to be forwarded to any other individual within the business and also to be read by others. Any views expressed by an individual within this message do not necessarily reflect the views of Somerfield. Somerfield reserves the right to intercept, monitor and record communications for lawful business purposes. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php