Utils
in package
Table of Contents
Methods
- caselessRemove() : array<string|int, mixed>
- Remove the items given by the keys, case insensitively from the data.
- copyToStream() : void
- Copy the contents of a stream into another stream until the given number of bytes have been read.
- copyToString() : string
- Copy the contents of a stream into a string until the given number of bytes have been read.
- hash() : string
- Calculate a hash of a stream.
- modifyRequest() : RequestInterface
- Clone and modify a request with the given changes.
- readLine() : string
- Read a line from the stream up to the maximum allowed buffer length.
- redactUserInfo() : UriInterface
- Redact the password in the user info part of a URI.
- streamFor() : StreamInterface
- Create a new stream based on the input type.
- tryFopen() : resource
- Safely opens a PHP stream resource using a filename.
- tryGetContents() : string
- Safely gets the contents of a given stream.
- uriFor() : UriInterface
- Returns a UriInterface for the given value.
Methods
caselessRemove()
Remove the items given by the keys, case insensitively from the data.
public
static caselessRemove(array<string|int, string|int> $keys, array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
- $keys : array<string|int, string|int>
- $data : array<string|int, mixed>
Return values
array<string|int, mixed>copyToStream()
Copy the contents of a stream into another stream until the given number of bytes have been read.
public
static copyToStream(StreamInterface $source, StreamInterface $dest[, int $maxLen = -1 ]) : void
The copy stops if the destination write returns 0, for example a BufferStream at its high water mark or a full DroppingStream. For a guaranteed full copy use a normal writable stream such as a file or php://temp stream.
Parameters
- $source : StreamInterface
-
Stream to read from
- $dest : StreamInterface
-
Stream to write to
- $maxLen : int = -1
-
Maximum number of bytes to read. Pass -1 to read the entire stream.
Tags
copyToString()
Copy the contents of a stream into a string until the given number of bytes have been read.
public
static copyToString(StreamInterface $stream[, int $maxLen = -1 ]) : string
Parameters
- $stream : StreamInterface
-
Stream to read
- $maxLen : int = -1
-
Maximum number of bytes to read. Pass -1 to read the entire stream.
Tags
Return values
stringhash()
Calculate a hash of a stream.
public
static hash(StreamInterface $stream, string $algo[, bool $rawOutput = false ]) : string
This method reads the entire stream to calculate a rolling hash, based
on PHP's hash_init functions.
Parameters
- $stream : StreamInterface
-
Stream to calculate the hash for
- $algo : string
-
Hash algorithm (e.g. md5, crc32, etc)
- $rawOutput : bool = false
-
Whether or not to use raw output
Tags
Return values
stringmodifyRequest()
Clone and modify a request with the given changes.
public
static modifyRequest(RequestInterface $request, array<string|int, mixed> $changes) : RequestInterface
This method is useful for reducing the number of clones needed to mutate a message.
The changes can be one of:
- method: (string) Changes the HTTP method.
- set_headers: (array) Sets the given headers. Values must be strings or non-empty arrays of strings.
- remove_headers: (array) Remove the given headers. Values may be strings or integers.
- body: (mixed) Sets the given body. Present non-null values are converted with self::streamFor(), including scalar values, resources, streams, iterators, callable arrays, closures, invokable objects, and objects with __toString(). String inputs remain literal bodies.
- uri: (UriInterface) Set the URI.
- query: (string) Set the query string value of the URI.
- version: (string) Set the protocol version.
Parameters
- $request : RequestInterface
-
Request to clone and modify.
- $changes : array<string|int, mixed>
-
Changes to apply.
Return values
RequestInterfacereadLine()
Read a line from the stream up to the maximum allowed buffer length.
public
static readLine(StreamInterface $stream[, int|null $maxLength = null ]) : string
Parameters
- $stream : StreamInterface
-
Stream to read from
- $maxLength : int|null = null
-
Maximum buffer length
Return values
stringredactUserInfo()
Redact the password in the user info part of a URI.
public
static redactUserInfo(UriInterface $uri) : UriInterface
Parameters
- $uri : UriInterface
Return values
UriInterfacestreamFor()
Create a new stream based on the input type.
public
static streamFor([resource|string|int|float|bool|StreamInterface|callable|Iterator|null $resource = '' ][, array{size?: int, metadata?: array} $options = [] ]) : StreamInterface
Options is an associative array that can contain the following keys:
- metadata: Array of custom metadata.
- size: Size of the stream.
This method accepts the following $resource types:
-
Psr\Http\Message\StreamInterface: Returns the value as-is. -
string: Creates a stream object that uses the given string as the contents. -
resource: Creates a stream object that wraps the given PHP stream resource. -
Iterator: If the provided value implementsIterator, then a read-only stream object will be created that wraps the given iterable. Each time the stream is read from, data from the iterator will fill a buffer and will be continuously called until the buffer is equal to the requested read size. Subsequent read calls will first read from the buffer and then callnexton the underlying iterator until it is exhausted. -
objectwith__toString(): If the object has the__toString()method, the object will be cast to a string and then a stream will be returned that uses the string value. -
NULL: Whennullis passed, an empty stream object is returned. -
callable: When a callable array, closure, or invokable object is passed and no earlier resource or object rule applies, a read-only stream object will be created that invokes the given callable. The callable is invoked with the suggested number of bytes to read. The callable can return fewer or more bytes than requested, but MUST returnfalseornullwhen there is no more data to return. Any additional bytes will be buffered and used in subsequent reads. String inputs are always treated as string bodies, even when they name callable functions.
Parameters
- $resource : resource|string|int|float|bool|StreamInterface|callable|Iterator|null = ''
-
Entity body data
- $options : array{size?: int, metadata?: array} = []
-
Additional options
Tags
Return values
StreamInterfacetryFopen()
Safely opens a PHP stream resource using a filename.
public
static tryFopen(string $filename, string $mode) : resource
When fopen fails, PHP normally raises a warning. This function adds an error handler that checks for errors and throws an exception instead.
Parameters
- $filename : string
-
File to open
- $mode : string
-
Mode used to open the file
Tags
Return values
resourcetryGetContents()
Safely gets the contents of a given stream.
public
static tryGetContents(resource $stream) : string
When stream_get_contents fails, PHP normally raises a warning. This function adds an error handler that checks for errors and throws an exception instead.
Parameters
- $stream : resource
Tags
Return values
stringuriFor()
Returns a UriInterface for the given value.
public
static uriFor(string|UriInterface $uri) : UriInterface
This function accepts a string or UriInterface and returns a UriInterface for the given value. If the value is already a UriInterface, it is returned as-is.
Parameters
- $uri : string|UriInterface