- adding __set magic method.

This commit is contained in:
Reza
2015-10-08 07:22:16 +03:30
parent 1d1e9b61ef
commit 250307b0cf

View File

@ -1,6 +1,6 @@
<?php
/**
* Created Reza Salarmehr.
* Created by Reza Salarmehr.
*
* Some methods are from Laravel source code.
*
@ -82,6 +82,11 @@ class Ary implements ArrayAccess, Countable, IteratorAggregate, JsonSerializable
return $this->get($item);
}
public function __set($name, $value)
{
$this->offsetSet($name, $value);
}
/**
* Get an item from the collection by key.
*
@ -109,6 +114,23 @@ class Ary implements ArrayAccess, Countable, IteratorAggregate, JsonSerializable
return array_key_exists($key, $this->items);
}
/**
* Set the item at a given offset.
*
* @param mixed $key
* @param mixed $value
* @return void
*/
public function offsetSet($key, $value)
{
if (is_null($key)) {
$this->items[] = $value;
}
else {
$this->items[$key] = $value;
}
}
/**
* Convert the object into something JSON serializable.
*
@ -182,23 +204,6 @@ class Ary implements ArrayAccess, Countable, IteratorAggregate, JsonSerializable
return $this->get($key);
}
/**
* Set the item at a given offset.
*
* @param mixed $key
* @param mixed $value
* @return void
*/
public function offsetSet($key, $value)
{
if (is_null($key)) {
$this->items[] = $value;
}
else {
$this->items[$key] = $value;
}
}
/**
* Unset the item at a given offset.
*
@ -267,4 +272,15 @@ class Ary implements ArrayAccess, Countable, IteratorAggregate, JsonSerializable
{
return (object)$this->all();
}
// /**
// * sets a nested ary.
// * @param $key
// * @param $items
// */
// public function setAry($key, $items)
// {
// $this->items[$key] = new self($items);
// }
}