for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace CodeReview\Issues;
abstract class AbstractIssue implements \ArrayAccess {
/**
* @var array
*/
protected $data = array();
* @param array $params
public function __construct(array $params = array()) {
$this->data = $params;
}
* @return string
public function toString() {
return "Function call: " . $this->data['name'] . " " . $this->getExplanation();
abstract protected function getExplanation();
public function __toString() {
return $this->toString();
* @param mixed $offset
* @return bool
public function offsetExists($offset) {
return isset($this->data[$offset]);
* @return mixed
public function offsetGet($offset) {
return $this->data[$offset];
* @param mixed $value
public function offsetSet($offset, $value) {
$this->data[$offset] = $value;
public function offsetUnset($offset) {
unset($this->data[$offset]);