nex-php/README.md

97 lines
1.7 KiB
Markdown
Raw Permalink Normal View History

2024-04-21 14:19:02 +03:00
# nex-php
2024-04-21 14:32:15 +03:00
2024-04-27 01:15:52 +03:00
PHP 8 Library for NEX Protocol (see also [nps-php](https://github.com/YGGverse/nps-php))
2024-04-21 14:32:15 +03:00
## Usage
```
composer require yggverse/nex
```
## Client
2024-04-27 01:15:52 +03:00
PHP interface for NEX protocol queries
2024-04-21 14:32:15 +03:00
``` php
2024-04-24 00:54:22 +03:00
$client = new \Yggverse\Nex\Client;
2024-04-21 14:32:15 +03:00
```
2024-04-24 00:54:22 +03:00
#### Client::request
2024-04-21 14:32:15 +03:00
2024-04-24 00:59:56 +03:00
Request data from URL | URI if constructed by URL
2024-04-21 14:32:15 +03:00
``` php
2024-04-21 15:38:14 +03:00
var_dump(
2024-04-24 00:54:22 +03:00
$client->request(
'nex://nightfall.city/nex/'
)
2024-04-21 14:32:15 +03:00
);
```
2024-04-24 00:54:22 +03:00
#### Client::setHost
#### Client::getHost
#### Client::setPort
#### Client::getPort
#### Client::setPath
#### Client::getPath
#### Client::setQuery
#### Client::getQuery
#### Client::getOptions
#### Client::setOptions
2024-04-23 23:35:34 +03:00
## Server
2024-04-27 01:15:52 +03:00
Build interactive server instance to listen NEX protocol connections!
2024-04-23 23:35:34 +03:00
``` php
$server = new \Yggverse\Nex\Server;
```
Provide optional `host`, `port` and `size` arguments in constructor or use available setters after object initiation.
``` php
2024-04-24 00:24:48 +03:00
$server = new \Yggverse\Nex\Server('127.0.0.1', 1900);
2024-04-23 23:35:34 +03:00
```
#### Server::setHost
#### Server::getHost
#### Server::setPort
#### Server::getPort
2024-04-23 23:38:26 +03:00
#### Server::setSize
#### Server::getSize
2024-04-24 00:22:44 +03:00
#### Server::setLive
#### Server::getLive
2024-04-23 23:35:34 +03:00
#### Server::start
Run server object using this method.
Define handler function as the argument to process application logic dependent of client request.
``` php
$server->start(
function (
string $request,
string $connect
2024-04-25 14:55:13 +03:00
): ?string
{
2024-04-23 23:35:34 +03:00
printf(
'connection: %s request: %s',
$connect,
$request
);
2024-04-25 14:55:13 +03:00
return null; // null|string response
2024-04-23 23:35:34 +03:00
}
);
```
2024-04-24 00:22:44 +03:00
#### Server::stop
Stop server instance.
Same to `Server::setLive(false)`
2024-04-27 01:14:05 +03:00
2024-04-27 01:20:49 +03:00
## Integrations
2024-04-27 01:14:05 +03:00
2024-04-27 01:15:52 +03:00
* [next](https://github.com/YGGverse/next) - PHP 8 Server for NEX Protocol