本文整理匯總了PHP中Psr\Http\Message\StreamInterface::createStream方法的典型用法代碼示例。如果您正苦於以下問題:PHP StreamInterface::createStream方法的具體用法?PHP StreamInterface::createStream怎麽用?PHP StreamInterface::createStream使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Psr\Http\Message\StreamInterface
的用法示例。
在下文中一共展示了StreamInterface::createStream方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: __construct
/**
* Request constructor.
*
* Array of handlers for HTTP methods may look like this:
* $methodHandlers = [
* methodHandlerObject,
* anotherMethodHandlerObject
* ];
*
* @param StreamInterface $stream Object which contains incoming stream.
* @param UriInterface $uri Object which contains URI parts.
* @param UploadedFileInterface $uploadedFile UploadedFile instance.
* @param array $methodHandlers Handlers for HTTP methods.
*/
public function __construct(StreamInterface $stream, UriInterface $uri, UploadedFileInterface $uploadedFile, array $methodHandlers)
{
// Message construct.
parent::__construct();
// Store UploadedFile instance.
$this->uploadedFile = $uploadedFile;
// Store Stream instance.
$this->stream = $stream->createStream('php://input', 'rb');
// Server environment.
$this->serverEnv = $this->normalizeServer($_SERVER);
// Headers.
$this->headers = $this->normalizeHeaders($this->serverEnv);
// URI.
$this->uri = $this->createUriFromGlobals($uri);
// HTTP real method.
$this->realMethod = strtoupper($this->getFromServer('REQUEST_METHOD'));
// HTTP replaced method (by html form input field '_method').
$this->replacedMethod = strtoupper(strtoupper($this->input('_method')));
// Cookie if present.
$this->cookies = isset($_COOKIE) ? $_COOKIE : [];
// Get params if present.
$this->queryParams = isset($_GET) ? $_GET : [];
// processing incoming HTTP requests by methods:
// POST, PUT, PATCH, DELETE
if ($this->getMethod() !== 'GET') {
// register HTTP methods handlers
$this->registerMethodHandler($methodHandlers);
// notification of all handlers of this incoming request
$requestBody = $this->notify($this);
// get parsed body (if exists) from handler
$this->parsedBody = $requestBody['parsedBody'];
// get uploaded files (if exists) from handler
if (!empty($requestBody['uploadedFiles'])) {
$this->uploadedFiles = $this->normalizeUploadedFiles($requestBody['uploadedFiles']);
}
}
}