From f4e68a785c9cd69abf70db02944eb9422fef6414 Mon Sep 17 00:00:00 2001 From: Florent Bruneau Date: Tue, 27 Jan 2009 22:36:49 +0100 Subject: [PATCH] Add PlDict that wraps an array and exposes the same API than Get:: Post::, Env::, Session::. Signed-off-by: Florent Bruneau --- classes/pldict.php | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 classes/pldict.php diff --git a/classes/pldict.php b/classes/pldict.php new file mode 100644 index 0000000..6000ab3 --- /dev/null +++ b/classes/pldict.php @@ -0,0 +1,98 @@ +array = $array; + } + + private function _get($key, $default) + { + return isset($this->array[$key]) ? $this->array[$key] : $default; + } + + public function has($key) + { + return isset($this->array[$key]); + } + + public function kill($key) + { + unset($this->array[$key]); + } + + public function set($key, $value) + { + $this->array[$key] = $value; + } + + public function v($key, $default = null) + { + return $this->_get($key, $default); + } + + public function b($key, $default = false) + { + return (bool)$this->_get($key, $default); + } + + public function s($key, $default = '') + { + return (string)$this->_get($key, $default); + } + + public function t($key, $default = '') + { + return trim($this->s($key, $default)); + } + + public function blank($key, $strict = false) + { + if (!$this->has($key)) { + return true; + } + $var = $strict ? $this->s($key) : $this->t($key); + return empty($var); + } + + public function i($key, $default = 0) + { + $i = $this->_get($key, $default); + return ctype_digit($i) ? intval($i) : $default; + } + + public function l(array $keys) + { + return array_map(array($this, 'v'), $keys); + } + + public function dict() + { + return $this->array; + } +} + +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: +?> -- 2.1.4