Add untagged container

This commit is contained in:
Dmitriy Simushev 2014-11-10 10:42:53 +00:00
parent 047273e3b8
commit c15142fdd8
2 changed files with 49 additions and 0 deletions

44
src/Fragment.php Normal file
View File

@ -0,0 +1,44 @@
<?php
/**
* @module Canteen\HTML5
*/
namespace Canteen\HTML5
{
/**
* Represents a set of HTML tags without a wrapper.
* Do not initiate this class directly, use the `html()` function:
*
* $div = html('container');
*
* @class UntaggedContainer
* @extends Node
* @constructor
* @param {Node|Array} [children=null] The collection of children or single child
*/
class Fragment extends NodeContainer
{
public function __construct($children = null)
{
parent::__construct('fragment', $children, null);
}
/**
* Write to HTML
* @method __toString
* @return {String} The string representation of this HTML node
*/
public function __toString()
{
$buffer = '';
foreach($this->getChildren() as $child)
{
$buffer .= $child->__toString();
}
return $buffer;
}
}
}
?>

View File

@ -109,6 +109,11 @@ namespace Canteen\HTML5
{ {
return new Text($childrenOrAttributes); return new Text($childrenOrAttributes);
} }
// Untagged container
else if ($tag == 'fragment')
{
return new Fragment($childrenOrAttributes);
}
// Check for task specification // Check for task specification
else if (isset(Specification::$TAGS[$tag])) else if (isset(Specification::$TAGS[$tag]))
{ {