- PHP 8.2+
The interface RequestMethods
is replaced with the enum RequestMethod
. is_*
method related to
HTTP methods have been moved from Request
to the enum.
<?php
namespace ICanBoogie\HTTP;
/* @var Request $request */
$request->is_delete;
$request->is_safe;
<?php
namespace ICanBoogie\HTTP;
/* @var Request $request */
$request->method->is_delete();
$request->method->is_safe();
Context
no longer implements ArrayAccess
and no longer extends Prototype
.
<?php
namespace ICanBoogie\HTTP;
/* @var Request\Context $context */
$context['request']
$context['something'] = $something;
$something_back = $context['something'];
<?php
namespace ICanBoogie\HTTP;
/* @var Request\Context $context */
$context->request;
$context->add($something);
$something_back = $context->get($something::class);
Headers with extended support, such as Cache-Control
, can now be accessed with special properties. Accessor related to
these headers have been moved from Request
and Response
to Headers
.
<?php
namespace ICanBoogie\HTTP;
/* @var Request $request */
/* @var Response $response */
/* @var Headers $headers */
$request->cache_control;
$response->cache_control;
$response->content_length;
$response->content_type;
$response->date;
$response->etag;
$response->last_modified;
$response->location;
$headers['Cache-Control'];
$headers['Content-Disposition'];
<?php
namespace ICanBoogie\HTTP;
/* @var Request $request */
/* @var Response $response */
/* @var Headers $headers */
$request->headers->cache_control;
$response->headers->cache_control;
$response->headers->content_length;
$response->headers->content_type;
$response->headers->date;
$response->headers->etag;
$response->headers->last_modified;
$response->headers->location;
$headers['Cache-Control']; $headers->cache_control;
$headers['Content-Disposition']; $headers->content_disposition;
Status
constants are deprecated in favor of ResponseStatus
equivalent:
<?php
namespace ICanBoogie\HTTP;
Status::OK;
<?php
namespace ICanBoogie\HTTP;
ResponseStatus::STATUS_OK;
# or
Response::STATUS_OK;
Dropped everything related to Dispatchers in favor of Responder providers and Responders.
That includes helper functions such as dispatch
and get_initial_request
.
<?php
namespace ICanBoogie\HTTP;
/* @var RequestDispatcher $dispatcher */
/* @var Request $request */
$response = $dispatcher->dispatch($request);
<?php
namespace ICanBoogie\HTTP;
/* @var Responder $responder */
/* @var Request $request */
$response = $responder->respond($request);
Dropped all RequestOptions::OPTION_IS_
related to HTTP methods,
use RequestOptions::OPTION_METHOD
instead:
<?php
namespace ICanBoogie\HTTP;
$request = Request::from([ RequestOptions::OPTION_IS_DELETE => true ]);
<?php
namespace ICanBoogie\HTTP;
$request = Request::from([ RequestOptions::OPTION_METHOD => RequestMethod::METHOD_DELETE ]);
Added WithRecovery
to replace previous recovery feature. Renamed RescueEvent
as RecoverEvent
.
The package icanboogie/datetime
is only required for development.