Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
46 lines (32 sloc) 881 Bytes

Fluent Interface

Purpose

To write code that is easy readable just like sentences in a natural language (like English).

Examples

  • Doctrine2's QueryBuilder works something like that example class below
  • PHPUnit uses fluent interfaces to build mock objects
  • Yii Framework: CDbCommand and CActiveRecord use this pattern, too

UML Diagram

Alt FluentInterface UML Diagram

Code

You can also find this code on GitHub

Sql.php

.. literalinclude:: Sql.php
   :language: php
   :linenos:

Test

Tests/FluentInterfaceTest.php

.. literalinclude:: Tests/FluentInterfaceTest.php
   :language: php
   :linenos: