|
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 / a / home / dev2.destoffenstraat.com / vendor / mtdowling / jmespath.php / src / |
Filename | /home/a/home/dev2.destoffenstraat.com/vendor/mtdowling/jmespath.php/src/Env.php |
Size | 2.42 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 21-Aug-2025 12:26 |
Last modified | 04-Sep-2024 20:46 |
Last accessed | 22-Aug-2025 06:07 |
Actions | edit | rename | delete | download (gzip) |
View | text | 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;
}
}
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;
}
}