> -----Original Message----- > From: David McGlone [mailto:david@xxxxxxxxxxxxx] > Sent: Wednesday, October 20, 2010 7:59 PM > To: php-general@xxxxxxxxxxxxx > Subject: Re: I need some thoughts on code duplication and separation > > On Thu, 2010-10-21 at 04:05 +0200, Rico Secada wrote: > > Hi. > > > > I am working on a small system where I am both trying to avoid code > > duplication and at the same time I am trying to keep the presentation > > logic separated from the application logic. > > > > I am using sessions and are avoiding "headers already sent" problem by > > keeping the HTML out of the application. > > > > For example, I would like to have a common header.php file, but it is > > difficult to create this since one file needs to have some specific > > Javascript located in the <head> </head> tags, but the other files > > doesn't need this. > > > > Another file needs to have a specific "onload" call in the <body> tag, > > while yet another file also needs to have an "onload" call, but with > > different attributes. > > > > I have been looking around in other systems to see what kinds of > > solutions are being used - as inspiration. > > > > I have been thinking about the following solutions: > > > > 1. Create only ONE header.php file that contains a lot of conditionals > > depending on what file is including it - the output of HTML/Javascript > > changes. > > > > I believe this would turn into a very ugly hack. Difficult to maintain. > > > > 2. Create a HTML generating class with a set of methods that each > > contains an adequate amount of parameters. Each method maintains its > > own HTML tag. For example, docType($type) would generate the doctype > > specification. > > > > I believe this is a "cleaner" solution, but the problem with code > > duplication isn't avoided. > > > > Some of the presentation logic contains conditionals and the HTML > > changes when the conditional changes, hence the header content > > changes, but the <doctype>, <html>, and <head> doesn't necessarily > > change and they would get duplicated a couple of times in some files. > > > > 3. Avoid the problem all together, use output buffering and completely > > forget about separation between application and presentation. > > > > I hope I make sense. > > > > Any thoughts on these kinds of problems? > > sounds like a job for smarty http://www.smarty.net/ > > I've used smarty and it's nice. > > -- > Blessings > David M. > > Thanks David! I was looking for something like that too! Regards, Tommy -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php