Nikola Smolenski wrote:
Ilmari Karonen wrote:
Tim Starling wrote:
Html::img( array( 'src' => $src, 'alt' => $alt ) );
...although at that point you might almost as well just go the extra step and make it:
Html::element( 'img', array( 'src' => $src, 'alt' => $alt ) );
Why not go full way:
Html::doStuff( array( 'what' => 'element', 'element' => 'img', 'src' => $src, 'alt' => $alt ) );
Well, my point was really that the process of constructing a well-formed HTML (or XML) element is pretty much independent of what the element's name is, so any convenience functions like the putative Html::img() just end up being thin wrappers around a generic element-building function anyway. If the wrappers end up *so* thin that they all just look like this:
public static function img( $attribs = array() ) { return self::element( 'img', $attribs ); }
then they don't really add much convenience anymore and might as well be dispensed with.
Seriously, I see a logical distinction between obligatory (every image must have a src) and non-obligatory parameters, so perhaps this would be the best:
Html::img( $src, array( 'alt' => $alt ) );
It should not be a problem to remember parameter order when there is only one parameter.
Nah, surely that would be way too sensible. :)