There is no license information available for the latest version (v2.1.0) of this package.

A Dynamark Communication Protocol 3 client, written in PHP

v2.1.0 2019-05-03 01:38 UTC

This package is auto-updated.

Last update: 2024-07-04 22:12:02 UTC



Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

A Dynamark Communication Protocol 3 client, written in PHP


Via Composer

composer require graze/dynamark3-client


Instantiating a client

Use the factory method to return a Dynamark3ClientInterface instance:

$client = Graze\Dynamark3Client\Dynamark3Client::factory();

Issuing commands

Connect to a remote endpoint using connect:

$dsn = '';

Commands are then simply method names that can be called directly on the client:

// issue a GETXML command
$resp = $client->getxml();

Commands containing spaces are represented using camelCase:

// issue a MARK STOP command
$resp = $client->markStop();

Command arguments are passed as method paramaters:

// issue a DELETEFILE command
$path = '\hard disk\domino\filecoding\codes.txt';
$resp = $client->deletefile($path);


The client will respond with a Dynamark3ResponseInterface object with the following methods:

 * Any response from the server up until a prompt is encountered.
 * @return string
public function getResponseText();

 * Whether an error prompt was encountered.
 * @return bool
public function isError();

 * The error code returned from the Dynamark 3 server
 * @return int
public function getErrorCode();

Handling a response:

$resp = $client->getxml();
if ($resp->isError()) {
    echo sprintf('the server responded with error code: [%d]', $resp->getErrorCode());
    // look up the error code in the Dynamark 3 protocol docs

$xml = $resp->getResponseText();
// do something fun with the xml

Example success response:

Screenshot of terminal text showing a success response

Example error response:

Screenshot of terminal text showing an error response

Some commands will return interesting data in their response, e.g. getxml:

Screenshot of terminal text showing XML response

Change log

Please see CHANGELOG for more information what has changed recently.


make test


Please see CONTRIBUTING for details.


If you discover any security related issues, please email instead of using the issue tracker.



The MIT License (MIT). Please see License File for more information.