Workerman\Protocols\Http::setcookie PHP Метод

setcookie() публичный статический Метод

Set cookie.
public static setcookie ( string $name, string $value = '', integer $maxage, string $path = '', string $domain = '', boolean $secure = false, boolean $HTTPOnly = false ) : boolean | void
$name string
$value string
$maxage integer
$path string
$domain string
$secure boolean
$HTTPOnly boolean
Результат boolean | void
    public static function setcookie($name, $value = '', $maxage = 0, $path = '', $domain = '', $secure = false, $HTTPOnly = false)
    {
        if (PHP_SAPI != 'cli') {
            return setcookie($name, $value, $maxage, $path, $domain, $secure, $HTTPOnly);
        }
        return self::header('Set-Cookie: ' . $name . '=' . rawurlencode($value) . (empty($domain) ? '' : '; Domain=' . $domain) . (empty($maxage) ? '' : '; Max-Age=' . $maxage) . (empty($path) ? '' : '; Path=' . $path) . (!$secure ? '' : '; Secure') . (!$HTTPOnly ? '' : '; HttpOnly'), false);
    }

Usage Example

 public function onRequest()
 {
     $http = self::$serverInstance;
     $kernel = $this->kernel;
     $http->onMessage = function ($connection, $data) use($kernel) {
         //        $http->on('request', function ($request, $response) use($kernel) {
         //            if ($request->server['request_uri'] !== '/favicon.ico') {
         $l_request = new Symfony\Component\HttpFoundation\Request($data['get'], $data['post'], [], $data['cookie'], $data['files'], $data['server']);
         if (0 === strpos($l_request->headers->get('CONTENT_TYPE'), 'application/x-www-form-urlencoded') && in_array(strtoupper($l_request->server->get('REQUEST_METHOD', 'GET')), array('PUT', 'DELETE', 'PATCH'))) {
             parse_str($l_request->getContent(), $data);
             $l_request->request = new Symfony\Component\HttpFoundation\ParameterBag($data);
         }
         Illuminate\Http\Request::enableHttpMethodParameterOverride();
         $l_request = Illuminate\Http\Request::createFromBase($l_request);
         $l_response = $kernel->handle($l_request);
         $result = $l_response->getContent();
         foreach ($l_response->headers->allPreserveCase() as $name => $values) {
             Http::header($name . ':' . implode(';', $values));
         }
         //            $l_response->send();
         foreach ($l_response->headers->getCookies() as $cookie) {
             Http::setcookie($cookie->getName(), $cookie->getValue(), $cookie->getExpiresTime(), $cookie->getPath(), $cookie->getDomain(), $cookie->isSecure(), $cookie->isHttpOnly());
         }
         $kernel->terminate($l_request, $l_response);
         $connection->send($result);
         //            }
     };
 }