Documentation

Utils
in package

Table of Contents

DEFAULT_JSON_FLAGS  = JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRESERVE_ZERO_FRACTION | JSON_INVALID_UTF8_SUBSTITUTE | JSON_PARTIAL_OUTPUT_ON_ERROR
canonicalizePath()  : string
Makes sure if a relative path is passed in it is turned into an absolute path
expandIniShorthandBytes()  : int|false
Converts a string with a valid 'memory_limit' format, to bytes.
getClass()  : string
getRecordMessageForException()  : string
handleJsonError()  : string
Handle a json_encode failure.
jsonEncode()  : string
Return the JSON representation of a value
substr()  : string
detectAndCleanUtf8()  : void
Detect invalid UTF-8 string characters and convert to valid UTF-8.
throwEncodeError()  : never
Throws an exception according to a given code with a customized message

Constants

DEFAULT_JSON_FLAGS

public mixed DEFAULT_JSON_FLAGS = JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRESERVE_ZERO_FRACTION | JSON_INVALID_UTF8_SUBSTITUTE | JSON_PARTIAL_OUTPUT_ON_ERROR

Methods

canonicalizePath()

Makes sure if a relative path is passed in it is turned into an absolute path

public static canonicalizePath(string $streamUrl) : string
Parameters
$streamUrl : string

stream URL or path without protocol

Return values
string

expandIniShorthandBytes()

Converts a string with a valid 'memory_limit' format, to bytes.

public static expandIniShorthandBytes(string|false $val) : int|false
Parameters
$val : string|false
Return values
int|false

Returns an integer representing bytes. Returns FALSE in case of error.

getClass()

public static getClass(object $object) : string
Parameters
$object : object
Return values
string

getRecordMessageForException()

public static getRecordMessageForException(array<string|int, mixed> $record) : string
Parameters
$record : array<string|int, mixed>
Return values
string

handleJsonError()

Handle a json_encode failure.

public static handleJsonError(int $code, mixed $data[, int $encodeFlags = null ]) : string

If the failure is due to invalid string encoding, try to clean the input and encode again. If the second encoding attempt fails, the initial error is not encoding related or the input can't be cleaned then raise a descriptive exception.

Parameters
$code : int

return code of json_last_error function

$data : mixed

data that was meant to be encoded

$encodeFlags : int = null

flags to pass to json encode, defaults to JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRESERVE_ZERO_FRACTION

Tags
throws
RuntimeException

if failure can't be corrected

Return values
string

JSON encoded data after error correction

jsonEncode()

Return the JSON representation of a value

public static jsonEncode(mixed $data[, int $encodeFlags = null ][, bool $ignoreErrors = false ]) : string
Parameters
$data : mixed
$encodeFlags : int = null

flags to pass to json encode, defaults to DEFAULT_JSON_FLAGS

$ignoreErrors : bool = false

whether to ignore encoding errors or to throw on error, when ignored and the encoding fails, "null" is returned which is valid json for null

Tags
throws
RuntimeException

if encoding fails and errors are not ignored

Return values
string

when errors are ignored and the encoding fails, "null" is returned which is valid json for null

substr()

public static substr(string $string, int $start[, int|null $length = null ]) : string
Parameters
$string : string
$start : int
$length : int|null = null
Return values
string

detectAndCleanUtf8()

Detect invalid UTF-8 string characters and convert to valid UTF-8.

private static detectAndCleanUtf8(mixed &$data) : void

Valid UTF-8 input will be left unmodified, but strings containing invalid UTF-8 codepoints will be reencoded as UTF-8 with an assumed original encoding of ISO-8859-15. This conversion may result in incorrect output if the actual encoding was not ISO-8859-15, but it will be clean UTF-8 output and will not rely on expensive and fragile detection algorithms.

Function converts the input in place in the passed variable so that it can be used as a callback for array_walk_recursive.

Parameters
$data : mixed

Input to check and convert if needed, passed by ref

Return values
void

throwEncodeError()

Throws an exception according to a given code with a customized message

private static throwEncodeError(int $code, mixed $data) : never
Parameters
$code : int

return code of json_last_error function

$data : mixed

data that was meant to be encoded

Tags
throws
RuntimeException
Return values
never

Search results