A Dynamark Communication Protocol 3 client, written in PHP
Via Composer
composer require graze/dynamark3-clientUse the factory method to return a Dynamark3ClientInterface instance:
$client = Graze\Dynamark3Client\Dynamark3Client::factory();
...Connect to a remote endpoint using connect:
...
$dsn = '127.0.0.1:20000';
$client->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
return;
}
$xml = $resp->getResponseText();
// do something fun with the xmlExample success response:
Example error response:
Some commands will return interesting data in their response, e.g. getxml:
Please see CHANGELOG for more information what has changed recently.
make testPlease see CONTRIBUTING for details.
If you discover any security related issues, please email security@graze.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.


