Saturday, September 18, 2010

Re: Less verbose usage of HtmlHelper?

Like Jeremy said, use pure HTML. Theres no point in using the HTML
helper to create a div when you can create it manually.

On Sep 18, 3:16 pm, "Evan R. Murphy" <evanrmur...@gmail.com> wrote:
> I figured out a way to do this through trial-and-error, but it's kinda
> kludgy.
>
> You create a libs/html.php file with wrapper functions for every
> HtmlHelper you want to alias:
>
> <?
>
> // contents of libs/html.php
>
> global $HTML;
> $HTML = $html;
>
> if (!function_exists('div')) {
>   function div($class = null, $text = null, $options = array()) {
>     global $HTML;
>     return $HTML->div($class, $text, $options); } }
>
> if (!function_exists('tag')) {
>   function tag (...) {
>     ... } }
>
> ... ?>
>
> Then, in every view where you want to use these functions, just
> include('libs/html.php'); at the top and they become available.
>
> On Sep 18, 10:26 am, Jeremy Burns | Class Outfit
>
> <jeremybu...@classoutfit.com> wrote:
> > These tags are so simple, there's no need to use the helper.
> > Drop the helper altogether and do it with straightforward html.
> > There's little benefit in using the helper for these - in fact you are slowing your site down by using it. Then you have complete control.
>
> There must be two schools of thought on this, or else why would the
> helper functions exist for simple tags! ;) I appreciate increased
> clarity of not constantly escaping between PHP and HTML, but your
> point is well taken. Any idea what kind of performance hit is taken
> for using the HtmlHelper?
>
> Thanks,
> Evan
>
> On Sep 17, 11:44 pm, "Evan R. Murphy" <evanrmur...@gmail.com> wrote:
>
> > I really like using CakePHP's HtmlHelper, except that it's so verbose.
> > I'd love to be able to write
>
> > div('header',
> >   tag('ul',
> >     tag('li', link('Home', '/')),
> >     aa('class', 'nav')))
>
> > instead of
>
> > $html->div('header',
> >   $html->tag('ul',
> >     $html->tag('li', $html->link('Home', '/')),
> >     aa('class', 'nav')))
>
> > How can I make this happen? (It's ok with me if functions like div,
> > tag and link are global. I'm willing to risk naming conflicts for this
> > extra convenience.)
>
> > Thanks,
> > Evan

Check out the new CakePHP Questions site http://cakeqs.org and help others with their CakePHP related questions.

You received this message because you are subscribed to the Google Groups "CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to
cake-php+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate