Re: I need some thoughts on code duplication and separation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2010-10-21 at 08:01 +0200, Peter Lind wrote:
> On 21 October 2010 04:59, David McGlone <david@xxxxxxxxxxxxx> wrote:
> > 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.
> >
> 
> How does Smarty solve this problem? Just curious.

from what I understood from his post He mentions he wants to separate
the application and presentation, code duplication is avoided and it's a
"cleaner" solution and #2 above sounds like he's describing a smarty
template.

I'm not 100% positive it will help him completely, but it does do a lot
of the things he mentions.



-- 
Blessings,
David M.


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux