PHP 8 Server for Nex Protocol
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
1.6 KiB

<?php
// Load dependencies
require_once __DIR__ .
DIRECTORY_SEPARATOR . '..'.
DIRECTORY_SEPARATOR . 'vendor' .
DIRECTORY_SEPARATOR . 'autoload.php';
// Init environment
$environment = new \Yggverse\Next\Model\Environment(
$argv,
json_decode(
file_get_contents(
__DIR__ .
DIRECTORY_SEPARATOR . '..'.
DIRECTORY_SEPARATOR . 'default.json'
),
true
)
);
// Init filesystem
$filesystem = new \Yggverse\Next\Model\Filesystem(
$environment->get('root')
);
// Start server
try
{
switch ($environment->get('type'))
{
case 'nex':
switch ($environment->get('mode'))
{
case 'fs':
$controller = new \Yggverse\Next\Controller\Nex\Filesystem(
$environment,
$filesystem
);
break;
default:
throw new \Exception(
_('unsupported mode for nex server type!')
);
}
$server = \Ratchet\Server\IoServer::factory(
$controller,
$environment->get('port'),
$environment->get('host')
);
$server->run();
break;
default:
throw new \Exception(
_('valid server type required!')
);
}
}
// Show help
catch (\Exception $exception)
{
// @TODO
print(
$exception->getMessage()
) . PHP_EOL;
}