I think your question answers itself, because you have a syntax error in your suggested
HTML string:
$html = '<div class="foo'><p>'
...
Use the Html class and you'll have fewer worries about malformed HTML.
WordPress code is full of hard-coded HTML strings and it's maddening to read and
understand. Personally I'm thankful for MediaWiki's Html class to keep things
orderly.
DanB
-----Original Message-----
From: wikitech-l-bounces(a)lists.wikimedia.org
[mailto:wikitech-l-bounces@lists.wikimedia.org] On Behalf Of Max Semenik
Sent: Monday, May 13, 2013 1:27 PM
To: Wikimedia developers
Subject: [Wikitech-l] Code style: overuse of Html::element()
Hi, I've seen recently a lot of code like this:
$html = Html::openElement( 'div', array( 'class' => 'foo' )
. Html::rawElement( 'p', array(),
Html::element( 'span', array( 'id' => $somePotentiallyUnsafeId
),
$somePotentiallyUnsafeText
)
)
. Html::closeElement( 'div' );
IMO, cruft like this makes things harder to read and adds additional performance overhead.
It can be simplified to
$html = '<div class="foo'><p>'
. Html::rawElement( 'p', array(),
Html::element( 'span', array( 'id' => $somePotentiallyUnsafeId
),
$somePotentiallyUnsafeText
)
)
. '</p></div>';
What's your opinion, guys and gals?
--
Best regards,
Max Semenik ([[User:MaxSem]])
_______________________________________________
Wikitech-l mailing list
Wikitech-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l