Download the PHP package lukebeer/broadworks-ocip without Composer
On this page you can find all versions of the php package lukebeer/broadworks-ocip. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download lukebeer/broadworks-ocip
More information about lukebeer/broadworks-ocip
Files in lukebeer/broadworks-ocip
Package broadworks-ocip
Short Description PHP ORM-like framework for the Broadworks OCIP API
License proprietary
Rated 3.00 based on 1 reviews
Informations about the package broadworks-ocip
Broadworks OCI-P PHP Framework
BTC: bc1q9n0v6l3ch2pjfhld4rj9y2eph3m9wl9xpmznlx
Features
SOAP or TCP Stream transport
It's now possible to choose between SOAP over HTTPS or a TCP stream (default) for interaction with the Broadworks API. Basic benchmarks suggest 15/requests/second with SOAP and 150/requests/second for TCP Stream. UserGetRequest17sp4 was used for the benchmark.
Session management
Sessions can be exported out of and into the Client, this was added to allow Broadworks OCI-P scripts triggered by methods such as cronjobs to execute using external session data. Porting Sessions are a secure way to execute commands as the user that requested it as the password is not stored, cookies/sessionId are used for authentication.
IDE Autocompletion
All elements of the framework have been built with IDE autocompletion in mind so there isn't a need to remember the details of a data type, below is an example of disabling CallForwardingAlways for all users within a group.
Interactive console
An interacting CLI is built in that requires zero programming knowledge. The user navigates through the schema in the same way you would directories and files on a linux file system. Commands can be executed in the CLI with results printed to screen. Tab autocompletion works - (broken in latest release)
Data export
Objects support serialisation to allow saving of messages in plain-text format that can be unserialised back into data types the framework can understand then replayed back into Broadworks for example
- Friendlier alternative to writing XML directly
- PHP classes generated from XSD schema files
- SOAP transport support, good for unreliable connections
- TCP stream transport support provides minimal overhead & maximum throughput
- SimpleTypes may contain Restriction objects for input validation such as maxLength of minLength
- Automatic mapping of data types (userGetResponse17sp4 --> userAddRequest17sp4)
- Blood, sweat and tears from countless hours of my time when I should of been at the pub
Installation
Use this for master branch
Use this for the development branch with untested fixes
Basic usage
Main response types
ComplexType
ComplexTypes such as UserGetRequest17sp4 are types that may contain a mixture of element types including ComplexTypes. Think of them as XML with nested children.
If one of the elements to be set is a ComplexType, the ComplexType needs creating before being set in the parent object. For example, StreetAddress is a ComplexType:
ComplexType StreetAddress structure
TableType
TableTypes are used for handling OCITable data. A single dimension array is passed in for column headings and data is set by using addRow or addRows with single or multi dimension arrays.
It's possible to render a pretty ascii table with echo $table->getValue()
with the data and also search with
$table->findRow('something')
If only a single column is required, method $table->getColumn($id)
will return a specific column of data from all
rows in the dataset. One value can be used for keys and another for values.
Returns:
Contributing
Bug Reports & Feature Requests
Please use the issue tracker to report any bugs or file feature requests.
Developing
PRs are welcome. To begin developing, do this: