1. Go to this page and download the library: Download gotzmann/comet 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/ */
gotzmann / comet example snippets
= new Comet\Comet();
$app->get('/hello',
function ($request, $response) {
return $response
->with("Hello, Comet!");
});
$app->run();
$payload = (string) $request->getBody();
// Prior to 7.3 PHP does not support RFC3339_EXTENDED (milliseconds are broken)
$version = explode('.', PHP_VERSION);
$dateFormat = ($version[0] == 7 && $version[1] >= 3) ? \DateTime::RFC3339_EXTENDED : "Y-m-d?H:i:s.???P";
$rules = [
'paymentOrderId' => 'digits and dashes are allowed',
'uuid' => 'UUID is wrong',
'date' => 'should be RFC3339 date',
];
$validator = new Validator;
$validation = $validator->validate($payload, $rules, $messages);
if (count($validation->getErrors())) {
return $response
->with($validation->getErrors(), 400);
}
declare(strict_types=1);
namespace App\Controllers;
use Comet\Request;
use Comet\Response;
class SimpleController
{
private static $counter = 0;
public function getCounter(Request $request, Response $response, $args)
{
$response->getBody()->write(self::$counter);
return $response->withStatus(200);
}
public function setCounter(Request $request, Response $response, $args)
{
$body = (string) $request->getBody();
$json = json_decode($body);
if (!$json) {
return $response->withStatus(500);
}
self::$counter = $json->counter;
return $response;
}
}
declare(strict_types=1);
use Comet\Comet;
use App\Controllers\SimpleController;
sePath("/api/v1");
$app->get('/counter',
'App\Controllers\SimpleController:getCounter');
$app->post('/counter',
'App\Controllers\SimpleController:setCounter');
$app->run();
declare(strict_types=1);
use Comet\Comet;
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Formatter\LineFormatter;
'/log/app.log', Logger::INFO);
$stream->setFormatter($formatter);
$logger = new Logger('app');
$logger->pushHandler($stream);
$app = new Comet([
'debug' => true,
'logger' => $logger,
]);
$app->run();