/**
 * Convenience method to get/set a global variable
 *
 * @param string $key The global variable name
 * @param mixed $value The value to set to the global variable; if it is not given, it is Getter method.
 * @return mixed The value of the global variable
 */
function _g($key, $value = '')
{
    if (empty($key)) {
        return null;
    }
    if (count(func_get_args()) == 2) {
        return __dotNotationToArray($key, 'global', $value);
    } else {
        return __dotNotationToArray($key, 'global');
    }
}
/**
 * Get a message or value of the given name from Session
 *
 * @param string $name     The session variable name to retrieve its value
 *   It can be a value separated by period, eg., user.name will be ['user']['name']
 * @param boolean $unserialize The value is to be unserialized or not
 *
 * @return mixed The value from SESSION
 */
function session_get($name, $unserialize = false)
{
    $value = __dotNotationToArray($name, 'session');
    return $unserialize && is_string($value) ? unserialize($value) : $value;
}