/**
* High-level Session service class
*
- * @author Hypolite Petovan <mrpetovan@gmail.com>
+ * @author Hypolite Petovan <hypolite@mrpetovan.com>
*/
class Session
{
return isset($_SESSION[$name]);
}
- public static function get($name)
+ /**
+ * Retrieves a key from the session super global or the defaults if the key is missing or the value is falsy.
+ *
+ * Handle the case where session_start() hasn't been called and the super global isn't available.
+ *
+ * @param string $name
+ * @param mixed $defaults
+ * @return mixed
+ */
+ public static function get($name, $defaults = null)
{
- return defaults($_SESSION, $name, null);
+ if (isset($_SESSION)) {
+ $return = defaults($_SESSION, $name, $defaults);
+ } else {
+ $return = $defaults;
+ }
+
+ return $return;
}
public static function set($name, $value)