30 implements IteratorAggregate
32 const NAME_KEY =
'name';
39 protected $_params = array();
82 return !empty($schema);
96 if (!array_key_exists($param, $clean)) {
102 if (count($clean) != count($this->_params)) {
105 foreach ($this->_params as $paramName => $paramValue) {
106 if ($this->
isDirty($paramName)) {
124 if (isset($schema[$param])) {
125 return $schema[$param];
157 $this->_name = (string) $name;
183 return $this->
toSql();
198 return $this->_params[$name];
209 return array_key_exists($name, $this->_params);
218 public function __set($name, $value)
220 $this->_params[$name] = $value;
233 unset($this->_params[$name]);
245 $this->
__set(self::NAME_KEY, null);
259 return new ArrayIterator($this->
toArray());
270 foreach ($schema as $keyName => $value) {
271 $this->
__set($keyName, $value);
284 return $this->_params;
295 $this->
__set(self::NAME_KEY, (
string) $name);
306 return $this->
__get(self::NAME_KEY);
341 public function toSql($alter =
false)