for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Drupal\easy_entity_reader;
/**
* Composite to read an array or a wrapper.
*
* Class EntityAdapter.
*/
class CompositeArrayAccess implements \ArrayAccess
{
* @var array
private $arrays;
* @param array $arrays
public function __construct(array $arrays)
$this->arrays = $arrays;
}
* @param $offset
public function offsetExists($offset)
return isset($this->entity->$offset);
entity
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
class MyClass { } $x = new MyClass(); $x->foo = true;
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:
class MyClass { public $foo; } $x = new MyClass(); $x->foo = true;
public function offsetGet($offset)
foreach ($this->arrays as $array) {
if (isset($array[$offset])) {
return $array[$offset];
throw new \Exception('The index "'.$offset.'" doesn\'t exist');
* @param $value
public function offsetSet($offset, $value)
throw new \Exception('Not supported');
public function offsetUnset($offset)
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion: