initial commit

This commit is contained in:
yggverse 2024-04-24 21:22:13 +03:00
parent 301ef4b525
commit a922d25c43
3 changed files with 79 additions and 1 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
/vendor/
/composer.lock

View File

@ -1,2 +1,59 @@
# nps-php
PHP 8 / Composer Library for NPS Protocol
PHP 8 / Composer Library for NPS Protocol (see also [nex-php](https://github.com/YGGverse/nex-php))
## Usage
```
composer require yggverse/nps
```
## Server
Build interactive server instance to listen NPS protocol connections!
``` php
$server = new \Yggverse\Nps\Server;
```
Provide optional `host`, `port` and `size` arguments in constructor or use available setters after object initiation.
``` php
$server = new \Yggverse\Nps\Server('127.0.0.1', 1915);
```
#### Server::setHost
#### Server::getHost
#### Server::setPort
#### Server::getPort
#### Server::setSize
#### Server::getSize
#### Server::setLive
#### Server::getLive
#### 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
) {
printf(
'connection: %s request: %s',
$connect,
$request
);
}
);
```
#### Server::stop
Stop server instance.
Same to `Server::setLive(false)`

19
composer.json Normal file
View File

@ -0,0 +1,19 @@
{
"name": "yggverse/nps",
"description": "PHP 8 Library for NPS Protocol",
"keywords": [ "yggverse", "nps", "nps-protocol", "server" ],
"homepage": "https://github.com/yggverse/nps-php",
"type": "library",
"license": "MIT",
"autoload": {
"psr-4": {
"Yggverse\\Nps\\": "src/"
}
},
"authors": [
{
"name": "YGGverse"
}
],
"require": {}
}