Thomas Weinert edited this page Feb 8, 2017 · 17 revisions
Clone this wiki locally


FluentDOM is a small library that encapsulates PHPs DOM API. Up to version 4.x it was mostly an implementation of the jQuery Traversing and Manipulation APIs. Version 5 is an reimplementation. This interface is still here and implemented in the FluentDOM\Query class.

But it now provides several classes that extend the PHP DOM classes. They provide shortcuts, syntax sugar and some workarounds for bugs.

The original idea for the project was born in a workshop of Tobias Schlitt (http://schlitt.info) about the PHP XML extensions at the IPC Spring in Berlin. He used this idea to show XPath samples in the session. Since then he contributed several ideas and hints. The basic loader concept was his idea, too.

Static Class: FluentDOM

The FluentDOM class provides static functions that are entry points into the library.

Node Lists

This two classes are list classes for element and text nodes.

  • Nodes - basic traversing, chaining and loading
  • Query - jQuery API

DOM Child Classes

DOM Living Standard

FluentDOM (5.2) implements parts of DOM Living Standard.

  • NonElementParentNode
  • ParentNode
  • NonDocumentTypeChildNode
  • ChildNode

Interfaces and Traits

  • Appendable - Append an object to an XML element node
  • XmlSerializable - serialize an object into an XML fragment
  • Loadable - Loaders for FluentDOM\Nodes and FluentDOM\Query