1: <?php
2: /**
3: * Simple class for using an array as a stack.
4: *
5: * Copyright 2008-2012 Horde LLC (http://www.horde.org/)
6: *
7: * @category Horde
8: * @package Support
9: * @license http://www.horde.org/licenses/bsd
10: */
11: class Horde_Support_Stack
12: {
13: /**
14: * @var array
15: */
16: protected $_stack = array();
17:
18: public function __construct($stack = array())
19: {
20: $this->_stack = $stack;
21: }
22:
23: public function push($value)
24: {
25: $this->_stack[] = $value;
26: }
27:
28: public function pop()
29: {
30: return array_pop($this->_stack);
31: }
32:
33: public function peek($offset = 1)
34: {
35: if (isset($this->_stack[count($this->_stack) - $offset])) {
36: return $this->_stack[count($this->_stack) - $offset];
37: } else {
38: return null;
39: }
40: }
41: }
42: