php-vn-lib/lib/util.php

50 lines
994 B
PHP
Executable File

<?php
/**
* Retrieves an element from an associative array or %NULL if it is not
* defined.
**/
function nullIf ($map, $key)
{
return isset ($map[$key]) ? $map[$key] : NULL;
}
/**
* Checks if passed $path is inside directory $dir.
**/
function checkFilePath ($file, $path)
{
$checkPath = stream_resolve_include_path ($path).'/';
$filePath = stream_resolve_include_path ($checkPath.$file);
$len = strlen ($checkPath);
return substr ($filePath, 0, strlen ($checkPath)) === $checkPath;
}
/**
* Checks if passed token is hyphenized.
**/
function isHyphen ($token)
{
return preg_match ('/^[\w\-]+$/', $token);
}
/**
* Transforms an hyphen string to camelcase.
**/
function hyphenToCamelCase ($string, $upperFirst = FALSE)
{
$replaceFunc = function ($matches)
{
return strtoupper ($matches[0][1]);
};
$result = preg_replace_callback ('/-[a-z]/', $replaceFunc, $string);
if ($upperFirst)
$result = strtoupper ($result{0}) . substr ($result, 1);
return $result;
}