PHP DOM Builder API 2.0
- Core\Element\Double
- Core\Element\DoubleBlock
- Core\Element\DoubleInline
- Core\Element\Field
- Core\Element\Root
- Core\Element\Single
- Element\A
- Element\Abbr
- Element\Address
- Element\Area
- Element\Article
- Element\Aside
- Element\Audio
- Element\B
- Element\Base
- Element\Bdi
- Element\Bdo
- Element\Blockquote
- Element\Body
- Element\Br
- Element\Button
- Element\Canvas
- Element\Caption
- Element\Cite
- Element\Code
- Element\Col
- Element\Colgroup
- Element\Command
- Element\Datalist
- Element\Dd
- Element\Del
- Element\Details
- Element\Dfn
- Element\Div
- Element\Dl
- Element\Dt
- Element\Em
- Element\Embed
- Element\Fieldset
- Element\Figcaption
- Element\Figure
- Element\Footer
- Element\Form
- Element\H1
- Element\H2
- Element\H3
- Element\H4
- Element\H5
- Element\H6
- Element\Head
- Element\Header
- Element\Hgroup
- Element\Hr
- Element\Html
- Element\I
- Element\Iframe
- Element\Img
- Element\Input
- Element\Ins
- Element\Kbd
- Element\Keygen
- Element\Label
- Element\Legend
- Element\Li
- Element\Link
- Element\Map
- Element\Mark
- Element\Menu
- Element\Meta
- Element\Meter
- Element\Nav
- Element\Noscript
- Element\Object
- Element\Ol
- Element\Optgroup
- Element\Option
- Element\Output
- Element\P
- Element\Param
- Element\Pre
- Element\Progress
- Element\Q
- Element\Rp
- Element\Rt
- Element\Ruby
- Element\S
- Element\Samp
- Element\Script
- Element\Section
- Element\Select
- Element\Small
- Element\Source
- Element\Span
- Element\Strong
- Element\Style
- Element\Sub
- Element\Summary
- Element\Sup
- Element\Table
- Element\Tbody
- Element\Td
- Element\Textarea
- Element\Tfoot
- Element\Th
- Element\Thead
- Element\Time
- Element\Title
- Element\Tr
- Element\Track
- Element\U
- Element\Ul
- Element\Variable
- Element\Video
- Element\Wbr
PHP DOM Builder is unveiled in second revision
In 2014 year PHP DOM Builder library was unveiled at the first time within the framework of Baigudin Software project. Two years have been left after that moment and today we are glad to offer the second generation that is PHP DOM Builder Revision 2.
Beginning of work
So, we have included the library and set it. Now we can create a basic HTML document.
<?php
use DomBuilder\Element as Element;
// Create document
$document = Element::create();
// Add main tags to document
$node = $document->insert('html');
$node->insert('head');
$node->insert('body');
// Output document
echo Element::getDocument($document);
?>
The result of this example is here:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head></head>
<body></body>
</html>
Every HTML document can be represented as a tree list of elements . In our example, we have created a root element of document and linked some elements to it. All methods for creating elements, such as create, insert, after,and before, create a new element and return a reference to it. That is why we could rewrite our example like here:
<?php
use DomBuilder\Element as Element;
// Create tree list
$root = Element::create('html')
->insert('head')
->after('body')
->root();
// Output document
echo Element::getDocument($root);
?>
If we want to get a correct document, we need to give getDocument method a root element of document. It is possible by using root method, which travels all DOM tree and returns a reference to a root element.