Passed
Branch master (cd5206)
by Tom
02:53 queued 58s
created

PropertyWriter::__construct()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 5
nc 2
nop 1
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
1
<?php
2
namespace Maphper\Lib;
3
class PropertyWriter {
4
	private $closure;
5
	public function __construct($object) {
6
		if ($object instanceof \stdclass) {
7
			$this->closure = function ($field, $value) use ($object) { $object->$field = $value; };
8
		}
9
		else {
10
			$this->closure = function ($field, $value) { $this->$field = $value; };
11
			$this->closure = $this->closure->bindTo($object, $object);
12
		}
13
	}
14
15
	public function __set($field, $value) {
16
		($this->closure)($field, $value);
17
	}
18
}