Hoa central
Context.php
Go to the documentation of this file.
1 <?php
2 
37 namespace Hoa\Ruler\Model\Bag;
38 
39 use Hoa\Ruler;
40 
49 class Context extends Bag
50 {
56  const ACCESS_TYPE = 0;
57 
63  const ACCESS_VALUE = 1;
64 
70  const ARRAY_ACCESS = 0;
71 
77  const ATTRIBUTE_ACCESS = 1;
78 
84  const METHOD_ACCESS = 2;
85 
91  protected $_id = null;
92 
98  protected $_dimensions = [];
99 
100 
101 
108  public function __construct($id)
109  {
110  $this->_id = $id;
111 
112  return;
113  }
114 
121  public function index($index)
122  {
123  if (is_scalar($index) || null === $index) {
124  $index = new Scalar($index);
125  } elseif (is_array($index)) {
126  $index = new RulerArray($index);
127  }
128 
129  $this->_dimensions[] = [
130  static::ACCESS_TYPE => static::ARRAY_ACCESS,
131  static::ACCESS_VALUE => $index
132  ];
133 
134  return $this;
135  }
136 
143  public function attribute($attribute)
144  {
145  $this->_dimensions[] = [
146  static::ACCESS_TYPE => static::ATTRIBUTE_ACCESS,
147  static::ACCESS_VALUE => $attribute
148  ];
149 
150  return $this;
151  }
152 
159  public function call(Ruler\Model\Operator $method)
160  {
161  $this->_dimensions[] = [
162  static::ACCESS_TYPE => static::METHOD_ACCESS,
163  static::ACCESS_VALUE => $method
164  ];
165 
166  return $this;
167  }
168 
174  public function getDimensions()
175  {
176  return $this->_dimensions;
177  }
178 
184  public function getId()
185  {
186  return $this->_id;
187  }
188 }
call(Ruler\Model\Operator $method)
Definition: Context.php:159