[Catalyst] Re: How to access current MyApp instance ?
Perrin Harkins
perrin at elem.com
Thu Jul 5 22:06:59 GMT 2007
On 7/5/07, Bill Moseley <moseley at hank.org> wrote:
> Do you avoid macros because the localization hit or because of the
> namespace issues?
I avoid them because it's too confusing for me and the reasoning about
which one to use is too hard for me to explain to designers. I just
stick with PROCESS. I'm a TT2 luddite, really.
> Thousands, for sure. A small handful can really help. It's not so
> much to do something better done in Perl, but as a way to avoid
> writing the same markup over and over. A real plus when you want to
> change a common page element on the entire site sometime down the
> road.
Sure, header, footer, navbar, etc. I'd have those with any SSI or
template thing.
> WRAPPERs are the biggest gem for getting out of that top-down approach
> to page design that lends itself to markup duplication.
I resisted those for a long time, but I think I might try them next time.
> Likewise, a few macros can help. Abstracting out common elements is
> useful in Templates as it is elsewhere in the code you write.
DRY is a nice principle, but too much focus on it leads to crazy
templates. I've seen it happen. I try not to worry too much about a
little duplicated markup.
> Say you have a site with a large number of tables and they all should
> look similar.
>
> Each table has click-able headings and displays a page of rows with
> alternating even/odd-style, and pager links (Previous 1 2 3 4 Next).
That's a pretty complicated widget with deep ties to backend
functions. I'd probably do some special thing for that, making it a
high-level widget with code and templates separate from the rest of
the page content.
Your MACRO use sounds reasonable. It's all about balance. Having
seen a lot of templates that were not maintainable because of
over-DRYing, I'm pretty cautious about this kind of thing.
- Perrin
More information about the Catalyst
mailing list