1. Go to this page and download the library: Download digitalstars/daemon library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
digitalstars / daemon example snippets
use DigitalStars\Daemon\Server; // Подключаем класс Server
$s = new Server(9); // Инициализируем демона с ID = 9
use PDO;
use DigitalStars\Daemon\Server;
$s = Server::create(9);
$db = null;
$s->init(function () use (&$db) {
$db = new PDO('mysql:dbname=testdb;host=127.0.0.1', 'DB_USER', 'DB_PASSWORD');
});
use PDO;
use DigitalStars\Daemon\Server;
$s = Server::create(9);
$db = null;
$s->init(function () use (&$db) {
$db = new PDO('mysql:dbname=testdb;host=127.0.0.1', 'DB_USER', 'DB_PASSWORD');
});
$s->errorHandler(function ($error, $error_str, $error_file, $error_line, $e) use ($db) {
// Составляем текст ошибки
$text = "Error: $error\n" .
"Str: $error_str" .
"File: $error_file ($error_line)\n" . (($e instanceof Throwable) ? "Back Trace:" . $e->getTraceAsString() : "");
// Записываем ошибку в таблицу логов в БД
$db->prepare("INSERT INTO error_log (text_error) VALUE (?)")->execute([$text]);
});
use PDO;
use DigitalStars\Daemon\Server;
$s = Server::create(9);
$db = null;
$s->init(function () use (&$db) {
$db = new PDO('mysql:dbname=testdb;host=127.0.0.1', 'DB_USER', 'DB_PASSWORD');
});
$s->module('testFunction', function ($text) use (&$db) {
$db->prepare("INSERT INTO log_action (text_value) VALUE (?)")->execute([$text]);
});
use DigitalStars\Daemon\Client;
$c = Client::create(9);
$c->testFunction('Какое-то тестовое сообщение, которое передастся серверу');
use PDO;
use DigitalStars\Daemon\Server;
$s = Server::create(9)->isMultiThread()->maxThreads(2);
$db = null;
$s->init(function () use (&$db) {
$db = new PDO('mysql:dbname=testdb;host=127.0.0.1', 'DB_USER', 'DB_PASSWORD');
});
$s->module('testFunction', function ($text) use (&$db) {
$db->prepare("INSERT INTO log_action (text_value) VALUE (?)")->execute([$text]);
});
use DigitalStars\Daemon\Client; // Подключаем класс Server
$c = new Client(9); // Инициализируем клиент демона с ID = 9 (ID должен совпадать у клиента и сервера)
$c = Client::create(9);
use PDO;
use DigitalStars\Daemon\Server;
$s = Server::create(9);
$db = null;
$s->init(function () use (&$db) {
$db = new PDO('mysql:dbname=testdb;host=127.0.0.1', 'DB_USER', 'DB_PASSWORD');
});
$s->module('testFunctionTwoArguments', function ($val1, $val2) use (&$db) {
$db->prepare("INSERT INTO log_action_two_field (field_1, field_2) VALUE (?, ?)")->execute([$val1, $val2]);
});
$s->module('testFunctionOneArguments', function ($text) use (&$db) {
$db->prepare("INSERT INTO log_action (text_value) VALUE (?)")->execute([$text]);
});
use DigitalStars\Daemon\Client;
$c = Client::create(9);
// Следующие 2 строки равносильны. Они вызовут функцию testFunctionTwoArguments на сервере и передадут в неё 2 параметра
$c->testFunctionTwoArguments('Значение 1', 'Значение 2');
$c->send('testFunctionTwoArguments', ['Значение 1', 'Значение 2']);
// Следующие 3 строки равносильны. Они вызовут функцию testFunctionOneArguments на сервере и передадут в неё 1 параметр
$c->testFunctionOneArguments('Одно значение');
$c->send('testFunctionOneArguments', ['Одно значение']);
$c->send('testFunctionOneArguments', 'Одно значение');
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.