b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / dev2.destoffenstraat.com / vendor / mtdowling / jmespath.php / src /
Filename/home/dev2.destoffenstraat.com/vendor/mtdowling/jmespath.php/src/Env.php
Size2.42 kb
Permissionrw-r--r--
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified04-Sep-2024 20:46
Last accessed23-Aug-2025 03:56
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php
namespace JmesPath;

/**
* Provides a simple environment based search.
*
* The runtime utilized by the Env class can be customized via environment
* variables. If the JP_PHP_COMPILE environment variable is specified, then the
* CompilerRuntime will be utilized. If set to "on", JMESPath expressions will
* be cached to the system's temp directory. Set the environment variable to
* a string to cache expressions to a specific directory.
*/
final class Env
{
const COMPILE_DIR = 'JP_PHP_COMPILE';

/**
* Returns data from the input array that matches a JMESPath expression.
*
* @param string $expression JMESPath expression to evaluate
* @param mixed $data JSON-like data to search
*
* @return mixed Returns the matching data or null
*/
public static function search($expression, $data)
{
static $runtime;

if (!$runtime) {
$runtime = Env::createRuntime();
}

return $runtime($expression, $data);
}

/**
* Creates a JMESPath runtime based on environment variables and extensions
* available on a system.
*
* @return callable
*/
public static function createRuntime()
{
switch ($compileDir = self::getEnvVariable(self::COMPILE_DIR)) {
case false: return new AstRuntime();
case 'on': return new CompilerRuntime();
default: return new CompilerRuntime($compileDir);
}
}

/**
* Delete all previously compiled JMESPath files from the JP_COMPILE_DIR
* directory or sys_get_temp_dir().
*
* @return int Returns the number of deleted files.
*/
public static function cleanCompileDir()
{
$total = 0;
$compileDir = self::getEnvVariable(self::COMPILE_DIR) ?: sys_get_temp_dir();

foreach (glob("{$compileDir}/jmespath_*.php") as $file) {
$total++;
unlink($file);
}

return $total;
}

/**
* Reads an environment variable from $_SERVER, $_ENV or via getenv().
*
* @param string $name
*
* @return string|null
*/
private static function getEnvVariable($name)
{
if (array_key_exists($name, $_SERVER)) {
return $_SERVER[$name];
}

if (array_key_exists($name, $_ENV)) {
return $_ENV[$name];
}

$value = getenv($name);

return $value === false ? null : $value;
}
}