Phalcon http
NOTE
All classes are prefixed with Phalcon
Http\Cookie¶
-
Namespace
Phalcon\Http
-
Uses
Phalcon\Di\AbstractInjectionAware
Phalcon\Di\DiInterface
Phalcon\Encryption\Crypt\CryptInterface
Phalcon\Encryption\Crypt\Mismatch
Phalcon\Filter\FilterInterface
Phalcon\Http\Cookie\CookieInterface
Phalcon\Http\Cookie\Exception
Phalcon\Http\Response\Exception
Phalcon\Session\ManagerInterface
-
Extends
AbstractInjectionAware
-
Implements
CookieInterface
Provide OO wrappers to manage a HTTP cookie.
Properties¶
/**
* @var string
*/
protected $domain;
/**
* @var int
*/
protected $expire;
/**
* @var FilterInterface|null
*/
protected $filter;
/**
* @var bool
*/
protected $httpOnly;
/**
* @var string
*/
protected $name;
/**
* @var array
*/
protected $options;
/**
* @var string
*/
protected $path;
/**
* @var bool
*/
protected $read = false;
/**
* @var bool
*/
protected $restored = false;
/**
* @var bool
*/
protected $secure = true;
/**
* The cookie's sign key.
*
* @var string|null
*/
protected $signKey;
/**
* @var bool
*/
protected $useEncryption = false;
/**
* @var mixed|null
*/
protected $value;
Methods¶
public function __construct( string $name, mixed $value = null, int $expire = int, string $path = string, bool $secure = null, string $domain = null, bool $httpOnly = null, array $options = [] );
This method is automatically called internally so normally you don't need to call it.
Sends the cookie to the HTTP client.Stores the cookie definition in session.
Sets the domain that the cookie is available to Sets the cookie's expiration time Sets if the cookie is accessible only through the HTTP protocol Sets the cookie's options Sets the cookie's path Sets if the cookie must only be sent when the connection is secure (HTTPS) Sets the cookie's sign key.The `$signKey' MUST be at least 32 characters long and generated using a cryptographically secure pseudo random generator.
Use NULL to disable cookie signing.
@see \Phalcon\Security\Random @throws \Phalcon\Http\Cookie\Exception
Sets the cookie's value Sets if the cookie must be encrypted/decrypted automatically Assert the cookie's key is enough long.@throws \Phalcon\Http\Cookie\Exception
Http\Cookie\CookieInterface ¶
-
Namespace
Phalcon\Http\Cookie
-
Uses
-
Extends
-
Implements
Interface for Phalcon\Http\Cookie
Methods¶
Deletes the cookie Returns the domain that the cookie is available to Returns the current expiration time Returns if the cookie is accessible only through the HTTP protocol Returns the current cookie's name Returns the current cookie's options Returns the current cookie's path Returns whether the cookie must only be sent when the connection is secure (HTTPS) Returns the cookie's value. Check if the cookie is using implicit encryption Sends the cookie to the HTTP client Sets the domain that the cookie is available to Sets the cookie's expiration time Sets if the cookie is accessible only through the HTTP protocol Sets the cookie's options Sets the cookie's expiration time Sets if the cookie must only be sent when the connection is secure (HTTPS) Sets the cookie's value Sets if the cookie must be encrypted/decrypted automaticallyHttp\Cookie\Exception¶
-
Namespace
Phalcon\Http\Cookie
-
Uses
-
Extends
\Exception
-
Implements
Phalcon\Http\Cookie\Exception
Exceptions thrown in Phalcon\Http\Cookie will use this class.
Http\Message\RequestMethodInterface ¶
-
Namespace
Phalcon\Http\Message
-
Uses
-
Extends
-
Implements
Interface for Request methods
Implementation of this file has been influenced by PHP FIG @link https://github.com/php-fig/http-message-util/ @license https://github.com/php-fig/http-message-util/blob/master/LICENSE
Constants¶
const METHOD_CONNECT = CONNECT;
const METHOD_DELETE = DELETE;
const METHOD_GET = GET;
const METHOD_HEAD = HEAD;
const METHOD_OPTIONS = OPTIONS;
const METHOD_PATCH = PATCH;
const METHOD_POST = POST;
const METHOD_PURGE = PURGE;
const METHOD_PUT = PUT;
const METHOD_TRACE = TRACE;
Http\Message\ResponseStatusCodeInterface ¶
-
Namespace
Phalcon\Http\Message
-
Uses
-
Extends
-
Implements
Interface for Request methods
Implementation of this file has been influenced by PHP FIG @link https://github.com/php-fig/http-message-util/ @license https://github.com/php-fig/http-message-util/blob/master/LICENSE
Defines constants for common HTTP status code.
@see https://tools.ietf.org/html/rfc2295#section-8.1 @see https://tools.ietf.org/html/rfc2324#section-2.3 @see https://tools.ietf.org/html/rfc2518#section-9.7 @see https://tools.ietf.org/html/rfc2774#section-7 @see https://tools.ietf.org/html/rfc3229#section-10.4 @see https://tools.ietf.org/html/rfc4918#section-11 @see https://tools.ietf.org/html/rfc5842#section-7.1 @see https://tools.ietf.org/html/rfc5842#section-7.2 @see https://tools.ietf.org/html/rfc6585#section-3 @see https://tools.ietf.org/html/rfc6585#section-4 @see https://tools.ietf.org/html/rfc6585#section-5 @see https://tools.ietf.org/html/rfc6585#section-6 @see https://tools.ietf.org/html/rfc7231#section-6 @see https://tools.ietf.org/html/rfc7238#section-3 @see https://tools.ietf.org/html/rfc7725#section-3 @see https://tools.ietf.org/html/rfc7540#section-9.1.2 @see https://tools.ietf.org/html/rfc8297#section-2 @see https://tools.ietf.org/html/rfc8470#section-7
Constants¶
const STATUS_ACCEPTED = 202;
const STATUS_ALREADY_REPORTED = 208;
const STATUS_BAD_GATEWAY = 502;
const STATUS_BAD_REQUEST = 400;
const STATUS_BANDWIDTH_LIMIT_EXCEEDED = 509;
const STATUS_BLOCKED_BY_WINDOWS_PARENTAL_CONTROLS = 450;
const STATUS_CLIENT_CLOSED_REQUEST = 499;
const STATUS_CONFLICT = 409;
const STATUS_CONNECTION_TIMEOUT = 522;
const STATUS_CONTINUE = 100;
const STATUS_CREATED = 201;
const STATUS_EARLY_HINTS = 103;
const STATUS_EXPECTATION_FAILED = 417;
const STATUS_FAILED_DEPENDENCY = 424;
const STATUS_FORBIDDEN = 403;
const STATUS_FOUND = 302;
const STATUS_GATEWAY_TIMEOUT = 504;
const STATUS_GONE = 410;
const STATUS_HTTP_REQUEST_SENT_TO_HTTPS_PORT = 497;
const STATUS_IM_A_TEAPOT = 418;
const STATUS_IM_USED = 226;
const STATUS_INSUFFICIENT_STORAGE = 507;
const STATUS_INTERNAL_SERVER_ERROR = 500;
const STATUS_INVALID_SSL_CERTIFICATE = 526;
const STATUS_INVALID_TOKEN_ESRI = 498;
const STATUS_LENGTH_REQUIRED = 411;
const STATUS_LOCKED = 423;
const STATUS_LOGIN_TIMEOUT = 440;
const STATUS_LOOP_DETECTED = 508;
const STATUS_METHOD_FAILURE = 420;
const STATUS_METHOD_NOT_ALLOWED = 405;
const STATUS_MISDIRECTED_REQUEST = 421;
const STATUS_MOVED_PERMANENTLY = 301;
const STATUS_MULTIPLE_CHOICES = 300;
const STATUS_MULTI_STATUS = 207;
const STATUS_NETWORK_AUTHENTICATION_REQUIRED = 511;
const STATUS_NETWORK_CONNECT_TIMEOUT_ERROR = 599;
const STATUS_NETWORK_READ_TIMEOUT_ERROR = 598;
const STATUS_NON_AUTHORITATIVE_INFORMATION = 203;
const STATUS_NOT_ACCEPTABLE = 406;
const STATUS_NOT_EXTENDED = 510;
const STATUS_NOT_FOUND = 404;
const STATUS_NOT_IMPLEMENTED = 501;
const STATUS_NOT_MODIFIED = 304;
const STATUS_NO_CONTENT = 204;
const STATUS_NO_RESPONSE = 444;
const STATUS_OK = 200;
const STATUS_ORIGIN_DNS_ERROR = 530;
const STATUS_ORIGIN_IS_UNREACHABLE = 523;
const STATUS_PAGE_EXPIRED = 419;
const STATUS_PARTIAL_CONTENT = 206;
const STATUS_PAYLOAD_TOO_LARGE = 413;
const STATUS_PAYMENT_REQUIRED = 402;
const STATUS_PERMANENT_REDIRECT = 308;
const STATUS_PRECONDITION_FAILED = 412;
const STATUS_PRECONDITION_REQUIRED = 428;
const STATUS_PROCESSING = 102;
const STATUS_PROXY_AUTHENTICATION_REQUIRED = 407;
const STATUS_RAILGUN_ERROR = 527;
const STATUS_RANGE_NOT_SATISFIABLE = 416;
const STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE = 431;
const STATUS_REQUEST_HEADER_TOO_LARGE = 494;
const STATUS_REQUEST_TIMEOUT = 408;
const STATUS_RESERVED = 306;
const STATUS_RESET_CONTENT = 205;
const STATUS_RETRY_WITH = 449;
const STATUS_SEE_OTHER = 303;
const STATUS_SERVICE_UNAVAILABLE = 503;
const STATUS_SSL_CERTIFICATE_ERROR = 495;
const STATUS_SSL_CERTIFICATE_REQUIRED = 496;
const STATUS_SSL_HANDSHAKE_FAILED = 525;
const STATUS_SWITCHING_PROTOCOLS = 101;
const STATUS_TEMPORARY_REDIRECT = 307;
const STATUS_THIS_IS_FINE = 218;
const STATUS_TIMEOUT_OCCURRED = 524;
const STATUS_TOO_EARLY = 425;
const STATUS_TOO_MANY_REQUESTS = 429;
const STATUS_UNAUTHORIZED = 401;
const STATUS_UNAVAILABLE_FOR_LEGAL_REASONS = 451;
const STATUS_UNKNOWN_ERROR = 520;
const STATUS_UNPROCESSABLE_ENTITY = 422;
const STATUS_UNSUPPORTED_MEDIA_TYPE = 415;
const STATUS_UPGRADE_REQUIRED = 426;
const STATUS_URI_TOO_LONG = 414;
const STATUS_USE_PROXY = 305;
const STATUS_VARIANT_ALSO_NEGOTIATES = 506;
const STATUS_VERSION_NOT_SUPPORTED = 505;
const STATUS_WEB_SERVER_IS_DOWN = 521;
Http\Request¶
-
Namespace
Phalcon\Http
-
Uses
Phalcon\Di\AbstractInjectionAware
Phalcon\Di\DiInterface
Phalcon\Events\ManagerInterface
Phalcon\Filter\FilterInterface
Phalcon\Http\Message\RequestMethodInterface
Phalcon\Http\Request\Exception
Phalcon\Http\Request\File
Phalcon\Http\Request\FileInterface
Phalcon\Support\Helper\Json\Decode
UnexpectedValueException
stdClass
-
Extends
AbstractInjectionAware
-
Implements
RequestInterface
RequestMethodInterface
Encapsulates request information for easy and secure access from application controllers.
The request object is a simple value object that is passed between the dispatcher and controller classes. It packages the HTTP request environment.
use Phalcon\Http\Request;
$request = new Request();
if ($request->isPost() && $request->isAjax()) {
echo "Request was made using POST and AJAX";
}
// Retrieve SERVER variables
$request->getServer("HTTP_HOST");
// GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH, PURGE, TRACE, CONNECT
$request->getMethod();
// An array of languages the client accepts
$request->getLanguages();
Properties¶
/**
* @var FilterInterface|null
*/
private $filterService;
/**
* @var bool
*/
private $httpMethodParameterOverride = false;
/**
* @var array
*/
private $queryFilters;
/**
* @var array|null
*/
private $patchCache;
/**
* @var array|null
*/
private $putCache;
/**
* @var string
*/
private $rawBody = ;
/**
* @var bool
*/
private $strictHostCheck = false;
Methods¶
public function get( string $name = null, mixed $filters = null, mixed $defaultValue = null, bool $notAllowEmpty = bool, bool $noRecursive = bool ): mixed;
// Returns value from $_REQUEST["user_email"] without sanitizing
$userEmail = $request->get("user_email");
// Returns value from $_REQUEST["user_email"] with sanitizing
$userEmail = $request->get("user_email", "email");
$_SERVER["REMOTE_ADDR"]
and optionally in $_SERVER["HTTP_X_FORWARDED_FOR"]
Gets a charsets array and their quality accepted by the browser/client from _SERVER["HTTP_ACCEPT_CHARSET"] Gets content type which request has been made Gets auth info accepted by the browser/client from $_SERVER["PHP_AUTH_DIGEST"] public function getFilteredData( string $methodKey, string $method, string $name = null, mixed $defaultValue = null, bool $notAllowEmpty = bool, bool $noRecursive = bool ): mixed;
public function getFilteredPatch( string $name = null, mixed $defaultValue = null, bool $notAllowEmpty = bool, bool $noRecursive = bool ): mixed;
public function getFilteredPost( string $name = null, mixed $defaultValue = null, bool $notAllowEmpty = bool, bool $noRecursive = bool ): mixed;
public function getFilteredPut( string $name = null, mixed $defaultValue = null, bool $notAllowEmpty = bool, bool $noRecursive = bool ): mixed;
public function getFilteredQuery( string $name = null, mixed $defaultValue = null, bool $notAllowEmpty = bool, bool $noRecursive = bool ): mixed;
$_SERVER = [ "PHP_AUTH_USER" => "phalcon", "PHP_AUTH_PW" => "secret", ];
$headers = $request->getHeaders();
echo $headers["Authorization"]; // Basic cGhhbGNvbjpzZWNyZXQ=
Gets host name used by the request.Request::getHttpHost
trying to find host name in following order:
$_SERVER["HTTP_HOST"]
$_SERVER["SERVER_NAME"]
$_SERVER["SERVER_ADDR"]
Optionally Request::getHttpHost
validates and clean host name. The Request::$strictHostCheck
can be used to validate host name.
Note: validation and cleaning have a negative performance impact because they use regular expressions.
use Phalcon\Http\Request;
$request = new Request;
$_SERVER["HTTP_HOST"] = "example.com";
$request->getHttpHost(); // example.com
$_SERVER["HTTP_HOST"] = "example.com:8080";
$request->getHttpHost(); // example.com:8080
$request->setStrictHostCheck(true);
$_SERVER["HTTP_HOST"] = "ex=am~ple.com";
$request->getHttpHost(); // UnexpectedValueException
$_SERVER["HTTP_HOST"] = "ExAmPlE.com";
$request->getHttpHost(); // example.com
If the X-HTTP-Method-Override header is set, and if the method is a POST, then it is used to determine the "real" intended HTTP method.
The _method request parameter can also be used to determine the HTTP method, but only if setHttpMethodParameterOverride(true) has been called.
The method is always an uppercased string.
public function getPatch( string $name = null, mixed $filters = null, mixed $defaultValue = null, bool $notAllowEmpty = bool, bool $noRecursive = bool ): mixed;
// Returns value from $_PATCH["user_email"] without sanitizing
$userEmail = $request->getPatch("user_email");
// Returns value from $_PATCH["user_email"] with sanitizing
$userEmail = $request->getPatch("user_email", "email");
public function getPost( string $name = null, mixed $filters = null, mixed $defaultValue = null, bool $notAllowEmpty = bool, bool $noRecursive = bool ): mixed;
// Returns value from $_POST["user_email"] without sanitizing
$userEmail = $request->getPost("user_email");
// Returns value from $_POST["user_email"] with sanitizing
$userEmail = $request->getPost("user_email", "email");
Gets the preferred locale accepted by the client from the "Accept-Language" request HTTP header and returns the base part of it i.e. en
instead of en-US
.
Note: This method relies on the $_SERVER["HTTP_ACCEPT_LANGUAGE"]
header.
@link https://www.iso.org/standard/50707.html
public function getPut( string $name = null, mixed $filters = null, mixed $defaultValue = null, bool $notAllowEmpty = bool, bool $noRecursive = bool ): mixed;
// Returns value from $_PUT["user_email"] without sanitizing
$userEmail = $request->getPut("user_email");
// Returns value from $_PUT["user_email"] with sanitizing
$userEmail = $request->getPut("user_email", "email");
public function getQuery( string $name = null, mixed $filters = null, mixed $defaultValue = null, bool $notAllowEmpty = bool, bool $noRecursive = bool ): mixed;
// Returns value from $_GET["id"] without sanitizing
$id = $request->getQuery("id");
// Returns value from $_GET["id"] with sanitizing
$id = $request->getQuery("id", "int");
// Returns value from $_GET["id"] with a default value
$id = $request->getQuery("id", null, 150);
// Returns /some/path?with=queryParams
$uri = $request->getURI();
// Returns /some/path
$uri = $request->getURI(true);
public function getUploadedFiles( bool $onlySuccessful = bool, bool $namedKeys = bool ): FileInterface[];
Request::getHttpHost
method will be use strict validation of host name or not Checks whether HTTP method is TRACE. if _SERVER["REQUEST_METHOD"]==="TRACE" Checks if a method is a valid HTTP method Returns the number of files available Set the HTTP method parameter override flag public function setParameterFilters( string $name, array $filters = [], array $scope = [] ): RequestInterface;
Request::getHttpHost
method must be use strict validation of host name or not Process a request header and return the one with best quality final protected function getHelper( array $source, string $name = null, mixed $filters = null, mixed $defaultValue = null, bool $notAllowEmpty = bool, bool $noRecursive = bool ): mixed;
final protected function smoothFiles( array $names, array $types, array $tmp_names, array $sizes, array $errors, string $prefix ): array;
Http\Request\Exception¶
-
Namespace
Phalcon\Http\Request
-
Uses
-
Extends
\Exception
-
Implements
Phalcon\Http\Request\Exception
Exceptions thrown in Phalcon\Http\Request will use this class
Http\Request\File¶
-
Namespace
Phalcon\Http\Request
-
Uses
-
Extends
-
Implements
FileInterface
Phalcon\Http\Request\File
Provides OO wrappers to the $_FILES superglobal
use Phalcon\Mvc\Controller;
class PostsController extends Controller
{
public function uploadAction()
{
// Check if the user has uploaded files
if ($this->request->hasFiles() == true) {
// Print the real file names and their sizes
foreach ($this->request->getUploadedFiles() as $file) {
echo $file->getName(), " ", $file->getSize(), "\n";
}
}
}
}
Properties¶
/**
* @var string|null
*/
protected $error;
/**
* @var string
*/
protected $extension;
/**
* @var string|null
*/
protected $key;
/**
* @var string
*/
protected $name;
/**
* @var string
*/
protected $realType;
/**
* @var int
*/
protected $size = ;
/**
* @var string|null
*/
protected $tmp;
/**
* @var string
*/
protected $type;
Methods¶
Phalcon\Http\Request\File constructor Returns the real name of the uploaded file Gets the real mime type of the upload file using finfo Returns the file size of the uploaded file Returns the temporary name of the uploaded file Returns the mime type reported by the browser This mime type is not completely secure, use getRealType() instead Checks whether the file has been uploaded via Post. Moves the temporary file to a destination within the applicationHttp\Request\FileInterface ¶
-
Namespace
Phalcon\Http\Request
-
Uses
-
Extends
-
Implements
Interface for Phalcon\Http\Request\File
Methods¶
Returns the error if any Returns the real name of the uploaded file Gets the real mime type of the upload file using finfo Returns the file size of the uploaded file Returns the temporal name of the uploaded file Returns the mime type reported by the browser This mime type is not completely secure, use getRealType() instead Move the temporary file to a destinationHttp\RequestInterface ¶
-
Namespace
Phalcon\Http
-
Uses
Phalcon\Http\Request\FileInterface
stdClass
-
Extends
-
Implements
Interface for Phalcon\Http\Request
Methods¶
public function get( string $name = null, mixed $filters = null, mixed $defaultValue = null, bool $notAllowEmpty = bool, bool $noRecursive = bool ): mixed;
// Returns value from $_REQUEST["user_email"] without sanitizing
$userEmail = $request->get("user_email");
// Returns value from $_REQUEST["user_email"] with sanitizing
$userEmail = $request->get("user_email", "email");
$_SERVER = [
"PHP_AUTH_USER" => "phalcon",
"PHP_AUTH_PW" => "secret",
];
$headers = $request->getHeaders();
echo $headers["Authorization"]; // Basic cGhhbGNvbjpzZWNyZXQ=
Request::getHttpHost
trying to find host name in following order:
$_SERVER["HTTP_HOST"]
$_SERVER["SERVER_NAME"]
$_SERVER["SERVER_ADDR"]
Optionally Request::getHttpHost
validates and clean host name. The Request::$_strictHostCheck
can be used to validate host name.
Note: validation and cleaning have a negative performance impact because they use regular expressions.
use Phalcon\Http\Request;
$request = new Request;
$_SERVER["HTTP_HOST"] = "example.com";
$request->getHttpHost(); // example.com
$_SERVER["HTTP_HOST"] = "example.com:8080";
$request->getHttpHost(); // example.com:8080
$request->setStrictHostCheck(true);
$_SERVER["HTTP_HOST"] = "ex=am~ple.com";
$request->getHttpHost(); // UnexpectedValueException
$_SERVER["HTTP_HOST"] = "ExAmPlE.com";
$request->getHttpHost(); // example.com
If the X-HTTP-Method-Override header is set, and if the method is a POST, then it is used to determine the "real" intended HTTP method.
The _method request parameter can also be used to determine the HTTP method, but only if setHttpMethodParameterOverride(true) has been called.
The method is always an uppercased string.
Gets information about the port on which the request is madepublic function getPost( string $name = null, mixed $filters = null, mixed $defaultValue = null, bool $notAllowEmpty = bool, bool $noRecursive = bool ): mixed;
// Returns value from $_POST["user_email"] without sanitizing
$userEmail = $request->getPost("user_email");
// Returns value from $_POST["user_email"] with sanitizing
$userEmail = $request->getPost("user_email", "email");
public function getPut( string $name = null, mixed $filters = null, mixed $defaultValue = null, bool $notAllowEmpty = bool, bool $noRecursive = bool ): mixed;
// Returns value from $_PUT["user_email"] without sanitizing
$userEmail = $request->getPut("user_email");
// Returns value from $_PUT["user_email"] with sanitizing
$userEmail = $request->getPut("user_email", "email");
public function getQuery( string $name = null, mixed $filters = null, mixed $defaultValue = null, bool $notAllowEmpty = bool, bool $noRecursive = bool ): mixed;
// Returns value from $_GET["id"] without sanitizing
$id = $request->getQuery("id");
// Returns value from $_GET["id"] with sanitizing
$id = $request->getQuery("id", "int");
// Returns value from $_GET["id"] with a default value
$id = $request->getQuery("id", null, 150);
// Returns /some/path?with=queryParams
$uri = $request->getURI();
// Returns /some/path
$uri = $request->getURI(true);
public function getUploadedFiles( bool $onlySuccessful = bool, bool $namedKeys = bool ): FileInterface[];
Http\Response¶
-
Namespace
Phalcon\Http
-
Uses
DateTime
DateTimeZone
Phalcon\Di\Di
Phalcon\Di\DiInterface
Phalcon\Di\InjectionAwareInterface
Phalcon\Events\EventsAwareInterface
Phalcon\Events\ManagerInterface
Phalcon\Http\Message\ResponseStatusCodeInterface
Phalcon\Http\Response\CookiesInterface
Phalcon\Http\Response\Exception
Phalcon\Http\Response\Headers
Phalcon\Http\Response\HeadersInterface
Phalcon\Mvc\Url\UrlInterface
Phalcon\Mvc\ViewInterface
Phalcon\Support\Helper\Json\Encode
-
Extends
-
Implements
EventsAwareInterface
InjectionAwareInterface
ResponseInterface
ResponseStatusCodeInterface
Part of the HTTP cycle is return responses to the clients. Phalcon\HTTP\Response is the Phalcon component responsible to achieve this task. HTTP responses are usually composed by headers and body.
$response = new \Phalcon\Http\Response();
$response->setStatusCode(200, "OK");
$response->setContent("<html><body>Hello</body></html>");
$response->send();
Properties¶
/**
* @var DiInterface|null
*/
protected $container;
/**
* @var string|null
*/
protected $content;
/**
* @var CookiesInterface|null
*/
protected $cookies;
/**
* @var ManagerInterface|null
*/
protected $eventsManager;
/**
* @var string|null
*/
protected $file;
/**
* @var Headers
*/
protected $headers;
/**
* @var bool
*/
protected $sent = false;
/**
* @var array
*/
protected $statusCodes;
/**
* @var Encode
*/
private $encode;
Methods¶
Phalcon\Http\Response constructor Appends a string to the HTTP response body Gets the HTTP response body Returns cookies set by the user Returns the internal dependency injector Returns the internal event manager Returns headers set by the user Returns the reason phrase Returns the status code Checks if a header exists Check if the response is already sentpublic function redirect( mixed $location = null, bool $externalRedirect = bool, int $statusCode = int ): ResponseInterface;
// Using a string redirect (internal/external)
$response->redirect("posts/index");
$response->redirect("http://en.wikipedia.org", true);
$response->redirect("http://www.example.com/new-location", true, 301);
// Making a redirection based on a named route
$response->redirect(
[
"for" => "index-lang",
"lang" => "jp",
"controller" => "index",
]
);
public function setFileToSend( string $filePath, mixed $attachmentName = null, mixed $attachment = bool ): ResponseInterface;
public function setJsonContent( mixed $content, int $jsonOptions = int, int $depth = int ): ResponseInterface;
Http\Response\Cookies¶
-
Namespace
Phalcon\Http\Response
-
Uses
Phalcon\Di\AbstractInjectionAware
Phalcon\Di\DiInterface
Phalcon\Http\Cookie\CookieInterface
Phalcon\Http\Cookie\Exception
-
Extends
AbstractInjectionAware
-
Implements
CookiesInterface
Phalcon\Http\Response\Cookies
This class is a bag to manage the cookies.
A cookies bag is automatically registered as part of the 'response' service in the DI. By default, cookies are automatically encrypted before being sent to the client and are decrypted when retrieved from the user. To set sign key used to generate a message authentication code use Phalcon\Http\Response\Cookies::setSignKey()
.
use Phalcon\Di\Di;
use Phalcon\Encryption\Crypt;
use Phalcon\Http\Response\Cookies;
$di = new Di();
$di->set(
'crypt',
function () {
$crypt = new Crypt();
// The `$key' should have been previously generated in a cryptographically safe way.
$key = "T4\xb1\x8d\xa9\x98\x05\\\x8c\xbe\x1d\x07&[\x99\x18\xa4~Lc1\xbeW\xb3";
$crypt->setKey($key);
return $crypt;
}
);
$di->set(
'cookies',
function () {
$cookies = new Cookies();
// The `$key' MUST be at least 32 characters long and generated using a
// cryptographically secure pseudo random generator.
$key = "#1dj8$=dp?.ak//j1V$~%*0XaK\xb1\x8d\xa9\x98\x054t7w!z%C*F-Jk\x98\x05\\\x5c";
$cookies->setSignKey($key);
return $cookies;
}
);
Properties¶
/**
* @var array
*/
protected $cookies;
/**
* @var bool
*/
protected $isSent = false;
/**
* @var bool
*/
protected $registered = false;
/**
* The cookie's sign key.
* @var string|null
*/
protected $signKey;
/**
* @var bool
*/
protected $useEncryption = true;
Methods¶
Phalcon\Http\Response\Cookies constructor Deletes a cookie by its name This method does not removes cookies from the _COOKIE superglobal Gets a cookie from the bag Gets all cookies from the bag Check if a cookie is defined in the bag or exists in the _COOKIE superglobal Returns if the headers have already been sent Returns if the bag is automatically encrypting/decrypting cookies Reset set cookies Sends the cookies to the client Cookies aren't sent if headers are sent in the current requestpublic function set( string $name, mixed $value = null, int $expire = int, string $path = string, bool $secure = null, string $domain = null, bool $httpOnly = null, array $options = [] ): CookiesInterface;
This method overrides any cookie set before with the same name.
use Phalcon\Http\Response\Cookies;
$now = new DateTimeImmutable();
$tomorrow = $now->modify('tomorrow');
$cookies = new Cookies();
$cookies->set(
'remember-me',
json_encode(['user_id' => 1]),
(int) $tomorrow->format('U'),
);
The `$signKey' MUST be at least 32 characters long and generated using a cryptographically secure pseudo random generator.
Use NULL to disable cookie signing.
@see \Phalcon\Security\Random
Set if cookies in the bag must be automatically encrypted/decryptedHttp\Response\CookiesInterface ¶
-
Namespace
Phalcon\Http\Response
-
Uses
Phalcon\Http\Cookie\CookieInterface
-
Extends
-
Implements
Phalcon\Http\Response\CookiesInterface
Interface for Phalcon\Http\Response\Cookies
Methods¶
Deletes a cookie by its name This method does not removes cookies from the _COOKIE superglobal Gets a cookie from the bag Check if a cookie is defined in the bag or exists in the _COOKIE superglobal Returns if the bag is automatically encrypting/decrypting cookies Reset set cookies Sends the cookies to the clientpublic function set( string $name, mixed $value = null, int $expire = int, string $path = string, bool $secure = null, string $domain = null, bool $httpOnly = null, array $options = [] ): CookiesInterface;
Http\Response\Exception¶
-
Namespace
Phalcon\Http\Response
-
Uses
-
Extends
\Exception
-
Implements
Phalcon\Http\Response\Exception
Exceptions thrown in Phalcon\Http\Response will use this class.
Http\Response\Headers¶
-
Namespace
Phalcon\Http\Response
-
Uses
-
Extends
-
Implements
HeadersInterface
Phalcon\Http\Response\Headers
This class is a bag to manage the response headers
Properties¶
Methods¶
Gets a header value from the internal bag Checks if a header exists Returns if the headers have already been sent Removes a header by its name Reset set headers Sends the headers to the client Sets a header to be sent at the end of the request Sets a raw header to be sent at the end of the request Returns the current headers as an arrayHttp\Response\HeadersInterface ¶
-
Namespace
Phalcon\Http\Response
-
Uses
-
Extends
-
Implements
Phalcon\Http\Response\HeadersInterface
Interface for Phalcon\Http\Response\Headers compatible bags
Methods¶
Gets a header value from the internal bag Checks if a header exists Reset set headers Sends the headers to the client Sets a header to be sent at the end of the request Sets a raw header to be sent at the end of the requestHttp\ResponseInterface ¶
-
Namespace
Phalcon\Http
-
Uses
DateTime
Phalcon\Http\Response\HeadersInterface
-
Extends
-
Implements
Phalcon\Http\Response
Interface for Phalcon\Http\Response