Verification: a143cc29221c9be0

Php can not set cookie

◆ __construct()

Переопределяет метод предка Response.

См. определение в файле httpresponse.php строка 21

22  {

24 

26  }

__construct(Base $connector)

Constructor.

◆ addCookie()

addCookie ( Web\Cookie  $cookie,
  $replace = true,
  $checkExpires = true 
)

Adds a cookie to the response.

Аргументы
Web\Cookie $cookie The cookie.
bool $replace Replace an existing cookie or not.
bool $checkExpires Check expires value of the cookie or not.
Возвращает
$this

См. определение в файле httpresponse.php строка 113

114  {

115  $key = $cookie->getName().".".$cookie->getDomain().".".$cookie->getPath();

116  if($replace || !isset($this->cookies[$key]))

117  {

118  if($checkExpires && $cookie->getExpires() > 0)

119  {

120 

121  static $askToStore = null;

122  if($askToStore === null)

123  {

125  }

126  if($askToStore === "Y")

127  {

129  {

130 

131  $cookie->setExpires(0);

132  }

133  }

134  }

135 

136  $this->cookies[$key] = $cookie;

137  }

138  return $this;

139  }

static get($moduleId, $name, $default="", $siteId=false)

Returns a value of an option.

static getCurrent()

Static method returns current instance of context.

◆ addHeader()

addHeader (   $name,
  $value = '' 
)

Adds a HTTP header field to the response.

Аргументы
string $name Header field name
string $value Header field value
Возвращает
$this
Исключения

См. определение в файле httpresponse.php строка 82

83  {

84  if (empty($name))

85  throw new ArgumentNullException("name");

86 

87  $this->getHeaders()->add($name, $value);

88 

89  return $this;

90  }

◆ allowPersistentCookies()

allowPersistentCookies (   $mode )

Remembers user's choice about storing persistent cookies.

Аргументы

См. определение в файле httpresponse.php строка 145

146  {

147  if($mode === true)

148  {

149 

150  $cookie = new Web\Cookie(self::STORE_COOKIE_NAME, "Y");

151  }

152  else

153  {

154 

155  $cookie = new Web\Cookie(self::STORE_COOKIE_NAME, "N", 0);

156  }

157  $this->addCookie($cookie, true, false);

158  }

addCookie(Web\Cookie $cookie, $replace=true, $checkExpires=true)

Adds a cookie to the response.

◆ copyHeadersTo()

См. определение в файле httpresponse.php строка 340

340  : HttpResponse

341  {

342  $httpHeaders = $response->getHeaders();

343 

344  $status = $response->getStatus();

345  $previousStatus = $this->getStatus();

346  foreach ($this->getHeaders() as $headerName => $values)

347  {

348  if ($this->shouldIgnoreHeaderToClone($headerName))

349  {

350  continue;

351  }

352 

353  if ($status && $headerName === $previousStatus)

354  {

355  continue;

356  }

357 

358  if ($httpHeaders->get($headerName))

359  {

360  continue;

361  }

362 

363  $httpHeaders->add($headerName, $values);

364  }

365 

366  foreach ($this->getCookies() as $cookie)

367  {

368  $response->addCookie($cookie, false);

369  }

370 

371  return $response;

372  }

getStatus()

Returns the HTTP status of the response.

◆ flush()

Flushes the content to the output buffer.

All following output will be ignored.

Аргументы

Переопределяет метод предка Response.

См. определение в файле httpresponse.php строка 42

43  {

44 

45  while (@ob_end_clean());

46 

47  if (function_exists("fastcgi_finish_request"))

48  {

49 

52 

53  fastcgi_finish_request();

54  }

55  else

56  {

57 

58  ob_start();

59 

61 

62  $size = ob_get_length();

63 

64  $this->addHeader('Content-Length', $size);

65 

67 

68  ob_end_flush();

69  @ob_flush();

71  }

72  }

flush($text='')

Flushes the content to the output buffer.

addHeader($name, $value='')

Adds a HTTP header field to the response.

writeHeaders()

Flushes all headers and cookies.

◆ flushHeader()

См. определение в файле httpresponse.php строка 222

223  {

224  if (is_array($header))

225  header(sprintf("%s: %s", $header[0], $header[1]));

226  else

227  header($header);

228 

229  return $this;

230  }

◆ getCookies()

◆ getHeaders()

◆ getServerProtocol()

См. определение в файле httpresponse.php строка 303

304  {

306  if ($context !== null)

307  {

308  return $context->getServer()->get("SERVER_PROTOCOL");

309  }

310  return "HTTP/1.0";

311  }

◆ getStatus()

Returns the HTTP status of the response.

Возвращает
int|string|null

См. определение в файле httpresponse.php строка 282

283  {

284  $cgiStatus = $this->getHeaders()->get('Status');

285  if ($cgiStatus)

286  {

287  return $cgiStatus;

288  }

289 

291  $prefixStatusLength = strlen($prefixStatus);

292  foreach ($this->getHeaders() as $name => $value)

293  {

294  if (substr(strtolower($name), 0, $prefixStatusLength) === $prefixStatus)

295  {

296  return $name;

297  }

298  }

299 

300  return null;

301  }

◆ initializeHeaders()

См. определение в файле httpresponse.php строка 28

29  {

30  if ($this->headers === null)

31  {

32  $this->setHeaders(new Web\HttpHeaders());

33  }

34 

35  return $this;

36  }

setHeaders(Web\HttpHeaders $headers)

Sets a collection of HTTP headers.

◆ redirectTo()

Аргументы
Возвращает
Engine\Response\Redirect

См. определение в файле httpresponse.php строка 333

333  : HttpResponse

334  {

335  $redirectResponse = new Engine\Response\Redirect($url);

336 

338  }

copyHeadersTo(HttpResponse $response)

◆ setCookie()

См. определение в файле httpresponse.php строка 232

233  {

235  {

236  setcookie(

237  $cookie->getName(),

238  $cookie->getValue(),

239  $cookie->getExpires(),

240  $cookie->getPath(),

241  $cookie->getDomain(),

242  $cookie->getSecure(),

243  $cookie->getHttpOnly()

244  );

245  }

246 

247  return $this;

248  }

◆ setHeaders()

Sets a collection of HTTP headers.

Аргументы
Web\HttpHeaders $headers Headers collection.
Возвращает
$this

См. определение в файле httpresponse.php строка 98

99  {

101 

102  return $this;

103  }

◆ setLastModified()

Sets the latest time for the Last-Modified header field.

Аргументы
Возвращает
$this

См. определение в файле httpresponse.php строка 319

320  {

321  if($this->lastModified === null || $time->getTimestamp() > $this->lastModified->getTimestamp())

322  {

323  $this->lastModified = $time;

324  }

325 

326  return $this;

327  }

◆ setStatus()

Sets the HTTP status of the response.

Аргументы
Возвращает
$this

См. определение в файле httpresponse.php строка 256

257  {

258  $httpStatus = Config\Configuration::getValue("http_status");

259 

260  $cgiMode = (stristr(php_sapi_name(), "cgi") !== false);

261  if ($cgiMode && ($httpStatus == null || $httpStatus == false))

262  {

263  $this->addHeader("Status", $status);

264  }

265  else

266  {

268  $httpHeaders->delete($this->getStatus());

269 

271 

272  $this->addHeader("{$proto} {$status}");

273  }

274 

275  return $this;

276  }

◆ writeHeaders()

Flushes all headers and cookies.

См. определение в файле httpresponse.php строка 179

180  {

181  if($this->lastModified !== null)

182  {

183  $this->flushHeader(array("Last-Modified", gmdate("D, d M Y H:i:s", $this->lastModified->getTimestamp()) . " GMT"));

184  }

185 

186  foreach ($this->getHeaders() as $name => $values)

187  {

188  if (is_array($values))

189  {

190  foreach ($values as $value)

191  {

193  }

194  }

195  elseif($values !== '')

196  {

198  }

199  else

200  {

202  }

203  }

204 

205  $cookiesCrypter = new Web\CookiesCrypter();

206  foreach ($this->cookies as $cookie)

207  {

208  if (!$cookiesCrypter->shouldEncrypt($cookie))

209  {

211  }

212  else

213  {

214  foreach ($cookiesCrypter->encrypt($cookie) as $cryptoCookie)

215  {

216  $this->setCookie($cryptoCookie);

217  }

218  }

219  }

220  }

setCookie(Web\Cookie $cookie)

◆ $cookies

◆ $headers

◆ $lastModified

You must log in to answer this question.