Methods summary
public static
string
|
#
GetDashedFromPascalCase( string $pascalCase = '' )
Convert all strings "from" => "to" :
- "MyCustomValue" => "my-custom-value"
- "MyWTFValue" => "my-w-t-f-value"
- "MyWtfValue" => "my-wtf-value"
- "MyCustom/Value/InsideFolder" => "my-custom/value/inside-folder"
Convert all strings "from" => "to" :
- "MyCustomValue" => "my-custom-value"
- "MyWTFValue" => "my-w-t-f-value"
- "MyWtfValue" => "my-wtf-value"
- "MyCustom/Value/InsideFolder" => "my-custom/value/inside-folder"
Parameters
Returns
string
|
public static
string
|
#
GetPascalCaseFromDashed( string $dashed = '' )
Convert all string "from" => "to" :
- "my-custom-value" => "MyCustomValue"
- "my-wtf-value" => "MyWtfValue"
- "my-w-t-f-value" => "MyWTFValue"
- "my-custom/value/inside-folder" => "MyCustom/Value/InsideFolder"
Convert all string "from" => "to" :
- "my-custom-value" => "MyCustomValue"
- "my-wtf-value" => "MyWtfValue"
- "my-w-t-f-value" => "MyWTFValue"
- "my-custom/value/inside-folder" => "MyCustom/Value/InsideFolder"
Parameters
Returns
string
|
public static
string
|
#
GetUnderscoredFromPascalCase( string $pascalCase = '' )
Convert all string "from" => "to" :
- "MyCutomValue" => "my_custom_value"
- "MyWTFValue" => "my_w_t_f_value"
- "MyWtfValue" => "my_wtf_value"
- "MyCutom/Value/InsideFolder" => "my_custom/value/inside_folder"
Convert all string "from" => "to" :
- "MyCutomValue" => "my_custom_value"
- "MyWTFValue" => "my_w_t_f_value"
- "MyWtfValue" => "my_wtf_value"
- "MyCutom/Value/InsideFolder" => "my_custom/value/inside_folder"
Parameters
Returns
string
|
public static
string
|
#
GetPascalCaseFromUnderscored( string $underscored = '' )
Convert all string "from" => "to" :
- "my_custom_value" => "MyCutomValue"
- "my_wtf_value" => "MyWtfValue"
- "my_w_t_f_value" => "MyWTFValue"
- "my_custom/value/inside_folder" => "MyCutom/Value/InsideFolder"
Convert all string "from" => "to" :
- "my_custom_value" => "MyCutomValue"
- "my_wtf_value" => "MyWtfValue"
- "my_w_t_f_value" => "MyWTFValue"
- "my_custom/value/inside_folder" => "MyCutom/Value/InsideFolder"
Parameters
Returns
string
|
public static
string
|
#
EncodeJson( mixed $data, integer $flags = 0, integer $depth = 512 )
Safely encode json string from php value.
JSON encoding flags used by default:
- JSON_HEX_TAG :
All < and > are converted to \u003C and \u003E. Available as of PHP 5.3.0.
- JSON_HEX_AMP :
All & are converted to \u0026. Available as of PHP 5.3.0.
- JSON_HEX_APOS :
All ' are converted to \u0027. Available as of PHP 5.3.0.
- JSON_HEX_QUOT :
All " are converted to \u0022. Available as of PHP 5.3.0.
- JSON_UNESCAPED_SLASHES :
Don't escape /. Available as of PHP 5.4.0.
- JSON_PRESERVE_ZERO_FRACTION :
Ensures that float values are always encoded as a float value. Available as of PHP 5.6.6.
Possible JSON encoding flags to add:
- JSON_PRETTY_PRINT :
Encode JSON into pretty print syntax, Available as of PHP 5.4.0.
- JSON_NUMERIC_CHECK :
Encodes numeric strings as numbers (be carefull for phone numbers). Available as of PHP 5.3.3.
- JSON_UNESCAPED_UNICODE :
Encode multibyte Unicode characters literally (default is to escape as \uXXXX). Available as of PHP 5.4.0.
- JSON_UNESCAPED_LINE_TERMINATORS :
The line terminators are kept unescaped when JSON_UNESCAPED_UNICODE
is supplied. It uses the same behaviour as it was before PHP 7.1
without this constant. Available as of PHP 7.1.0. The following
constants can be combined to form options for json_decode()
and json_encode().
- JSON_INVALID_UTF8_IGNORE :
Ignore invalid UTF-8 characters. Available as of PHP 7.2.0.
- JSON_INVALID_UTF8_SUBSTITUTE :
Convert invalid UTF-8 characters to \0xfffd (Unicode Character
'REPLACEMENT CHARACTER') Available as of PHP 7.2.0.
- JSON_THROW_ON_ERROR :
Throws JsonException if an error occurs instead of setting the global
error state that is retrieved with json_last_error() and
json_last_error_msg(). JSON_PARTIAL_OUTPUT_ON_ERROR takes precedence
over JSON_THROW_ON_ERROR. Available as of PHP 7.3.0.
Safely encode json string from php value.
JSON encoding flags used by default: - JSON_HEX_TAG : All < and > are converted to \u003C and \u003E. Available as of PHP 5.3.0. - JSON_HEX_AMP : All & are converted to \u0026. Available as of PHP 5.3.0. - JSON_HEX_APOS : All ' are converted to \u0027. Available as of PHP 5.3.0. - JSON_HEX_QUOT : All " are converted to \u0022. Available as of PHP 5.3.0. - JSON_UNESCAPED_SLASHES : Don't escape /. Available as of PHP 5.4.0. - JSON_PRESERVE_ZERO_FRACTION : Ensures that float values are always encoded as a float value. Available as of PHP 5.6.6.
Possible JSON encoding flags to add: - JSON_PRETTY_PRINT : Encode JSON into pretty print syntax, Available as of PHP 5.4.0. - JSON_NUMERIC_CHECK : Encodes numeric strings as numbers (be carefull for phone numbers). Available as of PHP 5.3.3. - JSON_UNESCAPED_UNICODE : Encode multibyte Unicode characters literally (default is to escape as \uXXXX). Available as of PHP 5.4.0. - JSON_UNESCAPED_LINE_TERMINATORS : The line terminators are kept unescaped when JSON_UNESCAPED_UNICODE is supplied. It uses the same behaviour as it was before PHP 7.1 without this constant. Available as of PHP 7.1.0. The following constants can be combined to form options for json_decode() and json_encode(). - JSON_INVALID_UTF8_IGNORE : Ignore invalid UTF-8 characters. Available as of PHP 7.2.0. - JSON_INVALID_UTF8_SUBSTITUTE : Convert invalid UTF-8 characters to \0xfffd (Unicode Character 'REPLACEMENT CHARACTER') Available as of PHP 7.2.0. - JSON_THROW_ON_ERROR : Throws JsonException if an error occurs instead of setting the global error state that is retrieved with json_last_error() and json_last_error_msg(). JSON_PARTIAL_OUTPUT_ON_ERROR takes precedence over JSON_THROW_ON_ERROR. Available as of PHP 7.3.0.
Parameters
- $data
- $flags
- $depth
- Set the maximum depth. Must be greater than zero, default: 512.
Returns
string
Throws
RuntimeException|JsonException JSON encoding error.
|
public static
object
|
#
DecodeJson( string $jsonStr, integer $flags = 0, integer $depth = 512 )
Safely decode json string into php stdClass/array .
- JSON_BIGINT_AS_STRING :
Decodes large integers as their original string value. Available as of PHP 5.4.0.
- JSON_OBJECT_AS_ARRAY :
Decodes JSON objects as PHP array. This option can be added automatically by calling json_decode() with
the second parameter equal to TRUE. Available as of PHP 5.4.0.
- JSON_INVALID_UTF8_IGNORE :
Ignore invalid UTF-8 characters. Available as of PHP 7.2.0.
- JSON_INVALID_UTF8_SUBSTITUTE :
Convert invalid UTF-8 characters to \0xfffd (Unicode Character
'REPLACEMENT CHARACTER') Available as of PHP 7.2.0.
- JSON_THROW_ON_ERROR :
Throws JsonException if an error occurs instead of setting the global
error state that is retrieved with json_last_error() and
json_last_error_msg(). JSON_PARTIAL_OUTPUT_ON_ERROR takes precedence
over JSON_THROW_ON_ERROR. Available as of PHP 7.3.0.
Safely decode json string into php stdClass/array .
- JSON_BIGINT_AS_STRING : Decodes large integers as their original string value. Available as of PHP 5.4.0.
- JSON_OBJECT_AS_ARRAY : Decodes JSON objects as PHP array. This option can be added automatically by calling json_decode() with the second parameter equal to TRUE. Available as of PHP 5.4.0.
- JSON_INVALID_UTF8_IGNORE : Ignore invalid UTF-8 characters. Available as of PHP 7.2.0. - JSON_INVALID_UTF8_SUBSTITUTE : Convert invalid UTF-8 characters to \0xfffd (Unicode Character 'REPLACEMENT CHARACTER') Available as of PHP 7.2.0. - JSON_THROW_ON_ERROR : Throws JsonException if an error occurs instead of setting the global error state that is retrieved with json_last_error() and json_last_error_msg(). JSON_PARTIAL_OUTPUT_ON_ERROR takes precedence over JSON_THROW_ON_ERROR. Available as of PHP 7.3.0.
Parameters
- $jsonStr
- $flags
- $depth
- User specified recursion depth, default: 512.
Returns
object
Throws
RuntimeException|JsonException JSON decoding error.
|
public static
boolean
|
#
IsJsonString( string $jsonStr )
Recognize if given string is JSON or not without JSON parsing.
Recognize if given string is JSON or not without JSON parsing.
Parameters
Returns
boolean
See
https://www.ietf.org/rfc/rfc4627.txt
|
public static
string
|
#
GetSystemTmpDir( )
Returns the OS-specific directory for temporary files.
Returns the OS-specific directory for temporary files.
Returns
string
|
public static
boolean
|
#
IsQueryString( string $queryStr )
Recognize if given string is query string without parsing.
It recognizes query strings like:
- key1=value1
- key1=value1&
- key1=value1&key2=value2
- key1=value1&key2=value2&
- key1=&key2=value2
- key1=value&key2=
- key1=value&key2=&key3=
...
Recognize if given string is query string without parsing.
It recognizes query strings like:
- key1=value1
- key1=value1&
- key1=value1&key2=value2
- key1=value1&key2=value2&
- key1=&key2=value2
- key1=value&key2=
- key1=value&key2=&key3=
...
Parameters
Returns
boolean
|
public static
mixed
|
#
Invoke( string|callable $internalFnOrHandler, array $args, callable $onError )
Safely invoke internal PHP function with it's own error handler.
Error handler accepts arguments:
- string $errMessage - Error message.
- int $errLevel - Level of the error raised.
- string $errFile - Optional, full path to error file name where error was raised.
- int $errLine - Optional, The error file line number.
- array $errContext - Optional, array that points to the active symbol table at the
point the error occurred. In other words, $errContext will contain
an array of every variable that existed in the scope the error
was triggered in. User error handler must not modify error context.
Warning: This parameter has been DEPRECATED as of PHP 7.2.0.
Relying on it is highly discouraged.
If the custom error handler returns FALSE , normal internal error handler continues.
This function is very PHP specific. It's proudly used from Nette Framework, optimized for PHP 5.4+ incl.:
https://github.com/nette/utils/blob/b623b2deec8729c8285d269ad991a97504f76bd4/src/Utils/Callback.php#L63-L84
Safely invoke internal PHP function with it's own error handler.
Error handler accepts arguments:
- string $errMessage - Error message.
- int $errLevel - Level of the error raised.
- string $errFile - Optional, full path to error file name where error was raised.
- int $errLine - Optional, The error file line number.
- array $errContext - Optional, array that points to the active symbol table at the point the error occurred. In other words, $errContext will contain an array of every variable that existed in the scope the error was triggered in. User error handler must not modify error context. Warning: This parameter has been DEPRECATED as of PHP 7.2.0. Relying on it is highly discouraged.
If the custom error handler returns FALSE , normal internal error handler continues.
This function is very PHP specific. It's proudly used from Nette Framework, optimized for PHP 5.4+ incl.:
https://github.com/nette/utils/blob/b623b2deec8729c8285d269ad991a97504f76bd4/src/Utils/Callback.php#L63-L84
Parameters
- $internalFnOrHandler
- $args
- $onError
Returns
mixed
|
public static
boolean
|
#
AtomicWrite( string $fullPath, string $content, string $writeMode = 'w', integer $lockWaitMilliseconds = 100, integer $maxLockWaitMilliseconds = 5000, integer $oldLockMillisecondsTolerance = 30000 )
Write or append file content by only one single PHP process.
Write or append file content by only one single PHP process.
Parameters
- $fullPath
- File full path.
- $content
- String content to write.
- $writeMode
- PHP
fopen() second argument flag, could be w , w+ , a , a+ etc...
- $lockWaitMilliseconds
- Milliseconds to wait before next lock file existence is checked in
while() cycle.
- $maxLockWaitMilliseconds
- Maximum milliseconds time to wait before thrown an exception about not possible write.
- $oldLockMillisecondsTolerance
- Maximum milliseconds time to consider lock file as operative or as old after some died process.
Returns
boolean
Throws
Exception
See
http://php.net/manual/en/function.flock.php
http://php.net/manual/en/function.set-error-handler.php
http://php.net/manual/en/function.clearstatcache.php
|
public static
string
|
#
RealPathVirtual( string $path )
PHP realpath() function without checking file/directory existence.
PHP realpath() function without checking file/directory existence.
Parameters
Returns
string
See
https://www.php.net/manual/en/function.realpath.php
|
public static
boolean
|
#
SetAttributesAnotations( boolean $attributesAnotation = TRUE )
Set prefered PHP classes and properties anontation preference.
PHP8+ attributes anotation is default. Set value to FALSE
to prefer PhpDocs tags anotation instead.
Set prefered PHP classes and properties anontation preference.
PHP8+ attributes anotation is default. Set value to FALSE
to prefer PhpDocs tags anotation instead.
Parameters
Returns
boolean
|
public static
boolean
|
#
GetAttributesAnotations( )
Get prefered PHP classes and properties anontation preference.
PHP8+ attributes anotation is default. FALSE value means
to prefer PhpDocs tags anotation instead.
Get prefered PHP classes and properties anontation preference.
PHP8+ attributes anotation is default. FALSE value means
to prefer PhpDocs tags anotation instead.
Returns
boolean
|
public static
boolean
|
#
CheckClassInterface( string $testClassName, string $interfaceName, boolean $checkStaticMethods = FALSE, boolean $throwException = TRUE )
Check if given class implements given interface, else throw an exception.
Check if given class implements given interface, else throw an exception.
Parameters
- $testClassName
- Full test class name.
- $interfaceName
- Full interface class name.
- $checkStaticMethods
- Check implementation of all static methods by interface static methods.
- $throwException
- If
TRUE , throw an exception if something is not implemented or if FALSE return FALSE only.
Returns
boolean
Throws
InvalidArgumentException
|
public static
boolean
|
#
CheckClassTrait( string $testClassName, string $traitName, boolean $throwException = TRUE )
Check if given class implements given trait, else throw an exception.
Check if given class implements given trait, else throw an exception.
Parameters
- $testClassName
- Full test class name.
- $traitName
- Full trait class name.
- $throwException
- If
TRUE , throw an exception if trait is not implemented or if FALSE return FALSE only.
Returns
boolean
Throws
InvalidArgumentException
|
public static
array
|
#
GetClassAttrsArgs( string|object $classFullNameOrInstance, string[] $attrsClassesOrDocsTags, boolean|null $preferAttributes = NULL )
Get (cached) class attribute(s) constructor arguments or
get class PhpDocs tags and it's arguments for older PHP versions.
You can optionally set prefered way to get desired meta data.
Get (cached) class attribute(s) constructor arguments or
get class PhpDocs tags and it's arguments for older PHP versions.
You can optionally set prefered way to get desired meta data.
Parameters
- $classFullNameOrInstance
- Class instance or full class name.
- $attrsClassesOrDocsTags
Array with attribute(s) full class names
or array with PhpDocs tag(s) name(s).
- $preferAttributes
Prefered way to get meta data. TRUE means try
to get PHP8+ attribute(s) only, FALSE means
try to get PhpDocs tag(s) only and NULL (default)
means try to get PHP8+ attribute(s) first and if
there is nothing, try to get PhpDocs tag(s).
Returns
array Keys are attributes full class names (or PhpDocs tags names) and values
are attributes constructor arguments (or PhpDocs tags arguments).
|
public static
array
|
#
GetMethodAttrsArgs( string|object $classFullNameOrInstance, string $methodName, string[] $attrsClassesOrDocsTags, boolean|null $preferAttributes = NULL )
Get (cached) class method attribute(s) constructor arguments or
get class method PhpDocs tags and it's arguments for older PHP versions.
You can optionally set prefered way to get desired meta data.
Get (cached) class method attribute(s) constructor arguments or
get class method PhpDocs tags and it's arguments for older PHP versions.
You can optionally set prefered way to get desired meta data.
Parameters
- $classFullNameOrInstance
- Class instance or full class name.
- $methodName
- Class method name.
- $attrsClassesOrDocsTags
Array with attribute(s) full class names
or array with PhpDocs tag(s) name(s).
- $preferAttributes
Prefered way to get meta data. TRUE means try
to get PHP8+ attribute(s) only, FALSE means
try to get PhpDocs tag(s) only and NULL (default)
means try to get PHP8+ attribute(s) first and if
there is nothing, try to get PhpDocs tag(s).
Returns
array Keys are attributes full class names (or PhpDocs tags names) and values
are attributes constructor arguments (or PhpDocs tags arguments).
|
public static
array
|
#
GetPropertyAttrsArgs( string|object $classFullNameOrInstance, string $propertyName, string[] $attrsClassesOrDocsTags, boolean|null $preferAttributes = NULL )
Get (cached) class property attribute(s) constructor arguments or
get class property PhpDocs tags and it's arguments for older PHP versions.
You can optionally set prefered way to get desired meta data.
Get (cached) class property attribute(s) constructor arguments or
get class property PhpDocs tags and it's arguments for older PHP versions.
You can optionally set prefered way to get desired meta data.
Parameters
- $classFullNameOrInstance
- Class instance or full class name.
- $propertyName
- Class property name.
- $attrsClassesOrDocsTags
Array with attribute(s) full class names
or array with PhpDocs tag(s) name(s).
- $preferAttributes
Prefered way to get meta data. TRUE means try
to get PHP8+ attribute(s) only, FALSE means
try to get PhpDocs tag(s) only and NULL (default)
means try to get PHP8+ attribute(s) first and if
there is nothing, try to get PhpDocs tag(s).
Returns
array Keys are attributes full class names (or PhpDocs tags names) and values
are attributes constructor arguments (or PhpDocs tags arguments).
|
public static
array|null
|
#
GetAttrCtorArgs( ReflectionClass|ReflectionMethod|ReflectionProperty $reflectionObject, string $attributeClassFullName )
Return reflection object attribute constructor arguments.
Return reflection object attribute constructor arguments.
Parameters
- $reflectionObject
- $attributeClassFullName
Returns
array|null
|
public static
array|null
|
#
GetPhpDocsTagArgs( ReflectionClass|ReflectionMethod|ReflectionProperty $reflectionObject, string $phpDocsTagName )
Return PhpDocs tag arguments, arguments has to be defined without space, separated by comma.
Return PhpDocs tag arguments, arguments has to be defined without space, separated by comma.
Parameters
- $reflectionObject
- $phpDocsTagName
Returns
array|null
|