Upgrade to 3.1.3

This commit is contained in:
Bastian Allgeier
2019-04-23 16:13:26 +02:00
parent eb29ef6d6c
commit 066913cb6e
53 changed files with 606 additions and 261 deletions

View File

@@ -57,8 +57,12 @@ class A
* returned if no element has been found
* @return mixed
*/
public static function get(array $array, $key, $default = null)
public static function get($array, $key, $default = null)
{
if (is_array($array) === false) {
return $array;
}
// return the entire array if the key is null
if ($key === null) {
return $array;
@@ -79,17 +83,28 @@ class A
// support dot notation
if (strpos($key, '.') !== false) {
$keys = explode('.', $key);
$keys = explode('.', $key);
$firstKey = array_shift($keys);
foreach ($keys as $innerKey) {
if (isset($array[$innerKey]) === false) {
return $default;
if (isset($array[$firstKey]) === false) {
$currentKey = $firstKey;
while ($innerKey = array_shift($keys)) {
$currentKey = $currentKey . '.' . $innerKey;
if (isset($array[$currentKey]) === true) {
return static::get($array[$currentKey], implode('.', $keys), $default);
}
}
$array = $array[$innerKey];
return $default;
}
return $array;
if (is_array($array[$firstKey]) === true) {
return static::get($array[$firstKey], implode('.', $keys), $default);
}
return $default;
}
return $default;

View File

@@ -27,12 +27,7 @@ class Controller
foreach ($info->getParameters() as $parameter) {
$name = $parameter->getName();
if (isset($data[$name]) === false) {
throw new Exception(sprintf('The "%s" parameter is missing', $name));
}
$args[] = $data[$name];
$args[] = $data[$name] ?? null;
}
return $args;

View File

@@ -264,6 +264,21 @@ class F
return pathinfo($name, PATHINFO_BASENAME);
}
/**
* Invalidate opcode cache for file.
*
* @param string $file The path of the file
* @return boolean
*/
public static function invalidateOpcodeCache(string $file): bool
{
if (function_exists('opcache_invalidate') && strlen(ini_get('opcache.restrict_api')) === 0) {
return opcache_invalidate($file, true);
} else {
return false;
}
}
/**
* Checks if a file is of a certain type
*