A Dynamark Communication Protocol 3 client, written in PHP
Via Composer
composer require graze/dynamark3-client
Use 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 xml
Example 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 test
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.