graze / dynamark3-client
A Dynamark Communication Protocol 3 client, written in PHP
Installs: 22 785
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 14
Forks: 0
Open Issues: 0
Requires
- graze/telnet-client: ^2.0
Requires (Dev)
- graze/standards: ^2.0
- mockery/mockery: ^0.9.4
- phpunit/phpunit: ^4.8
- squizlabs/php_codesniffer: ^3.0
- symfony/var-dumper: ^3.0
This package is auto-updated.
Last update: 2024-12-04 23:02:27 UTC
README
A Dynamark Communication Protocol 3 client, written in PHP
Install
Via Composer
composer require graze/dynamark3-client
Usage
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 = '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); ...
Responses
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
:
Change log
Please see CHANGELOG for more information what has changed recently.
Testing
make test
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email security@graze.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.