Completed
Push — master ( 10806f...3a0750 )
by Jean-Christophe
01:35
created

Validator::getMember()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Ubiquity\contents\validation\validators;
4
5
6
abstract class Validator implements ValidatorInterface{
7
	protected $modifiedMessage;
8
	protected $message;
9
	protected $member;
10
	protected $value;
11
	protected $severity;
12
13
	
14
	/**
15
	 * @param mixed $value
16
	 * @return \Ubiquity\contents\validation\validators\ConstraintViolation|boolean
17
	 */
18
	public function validate_($value){
19
		$this->value=$value;
20
		if(!$this->validate($value)){
21
			return new ConstraintViolation($this->_getMessage(), $value, $this->member, get_class($this),$this->severity);
22
		}
23
		return true;
24
	}
25
	
26
	public function setValidationParameters($member,$params,$severity='warning',$message=null){
0 ignored issues
show
Unused Code introduced by
The parameter $severity is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
27
		$this->setParams($params);
28
		$this->member=$member;
29
		$this->modifiedMessage=$message;
30
	}
31
	
32
	protected function setParams(array $params){
33
		foreach ($params as $member=>$value){
34
			$this->$member=$value;
35
		}
36
	}
37
	
38
	/**
39
	 * @return mixed
40
	 */
41
	public function getMember() {
42
		return $this->member;
43
	}
44
45
	/**
46
	 * @param mixed $member
47
	 */
48
	public function setMember($member) {
49
		$this->member = $member;
50
	}
51
	
52
	/**
53
	 * {@inheritDoc}
54
	 * @see \Ubiquity\contents\validation\validators\ValidatorInterface::getParameters()
55
	 */
56
	public function getParameters(): array {
57
		return [];
58
		
59
	}
60
	
61
	/**
62
	 * @return array|string
63
	 */
64
	protected function mergeMessages(){
65
		if(!isset($this->modifiedMessage)){
66
			return $this->message;
67
		}else{
68
			return $this->modifiedMessage;
69
		}
70
	}
71
	
72
	protected function _getMessage(){
73
		$parameters=$this->getParameters();
74
		$message=$this->mergeMessages();
75 View Code Duplication
		foreach ($parameters as $param){
76
			$message=str_replace("{".$param."}", $this->$param, $message);
77
		}
78
		return $message;
79
	}
80
81
}
82
83