ArrayAccess   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 8
c 2
b 0
f 0
dl 0
loc 24
rs 10
wmc 5

4 Methods

Rating   Name   Duplication   Size   Complexity  
A offsetGet() 0 3 1
A offsetSet() 0 6 2
A offsetUnset() 0 3 1
A offsetExists() 0 3 1
1
<?php
2
3
namespace Scrawler\Arca\Traits\Model;
4
5
trait ArrayAccess
6
{
7
    public function offsetSet($offset, $value): void
8
    {
9
        if (is_null($offset)) {
10
            throw new \Exception('Offset cannot be null');
11
        } else {
12
            $this->set($offset, $value);
0 ignored issues
show
Bug introduced by
It seems like set() must be provided by classes using this trait. How about adding it as abstract method to this trait? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

12
            $this->/** @scrutinizer ignore-call */ 
13
                   set($offset, $value);
Loading history...
13
        }
14
    }
15
16
    public function offsetExists($offset): bool
17
    {
18
        return $this->isset($offset);
0 ignored issues
show
Bug introduced by
It seems like isset() must be provided by classes using this trait. How about adding it as abstract method to this trait? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

18
        return $this->/** @scrutinizer ignore-call */ isset($offset);
Loading history...
19
    }
20
21
    public function offsetUnset($offset): void
22
    {
23
        $this->unset($offset);
0 ignored issues
show
Bug introduced by
It seems like unset() must be provided by classes using this trait. How about adding it as abstract method to this trait? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

23
        $this->/** @scrutinizer ignore-call */ 
24
               unset($offset);
Loading history...
24
    }
25
26
    public function offsetGet($offset): mixed
27
    {
28
        return $this->get($offset);
0 ignored issues
show
Bug introduced by
It seems like get() must be provided by classes using this trait. How about adding it as abstract method to this trait? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

28
        return $this->/** @scrutinizer ignore-call */ get($offset);
Loading history...
29
    }
30
}
31