Passed
Push — master ( 07ea47...32da0d )
by Jean-Christophe
11:56
created

ValidationModelParser::__toString()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 2
ccs 0
cts 2
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Ubiquity\contents\validation;
4
5
use Ubiquity\orm\parser\Reflexion;
6
use Ubiquity\utils\base\UArray;
7
8
/**
9
 * @author jc
10
 *
11
 */
12
class ValidationModelParser {
13
14
	protected $validators=[];
15
16 38
	public function parse($modelClass) {
17 38
		$instance=new $modelClass();
18 38
		$properties=Reflexion::getProperties($instance);
19 38
		foreach ( $properties as $property ) {
20 38
			$propName=$property->getName();
21 38
			$annots=Reflexion::getAnnotationsMember($modelClass, $propName, 'validator');
22 38
			if(\count($annots)>0){
23 38
				$this->validators[$propName]=[];
24 38
				foreach ($annots as $annotation){
25 38
					$this->validators[$propName][]=$annotation->getPropertiesAndValues();
26
				}
27
			}
28
		}
29
30 38
	}
31
32 38
	public function getValidators(){
33 38
		return $this->validators;
34
	}
35
36
	public function __toString() {
37
		return "return " . UArray::asPhpArray($this->validators, "array") . ";";
38
	}
39
}
40
41