Failed Conditions
Pull Request — master (#40)
by Viktor
09:39
created

src/View/HasContextTrait.php (1 issue)

Labels
Severity
1
<?php
2
/**
3
 * @package   WPEmerge
4
 * @author    Atanas Angelov <[email protected]>
5
 * @copyright 2017-2019 Atanas Angelov
6
 * @license   https://www.gnu.org/licenses/gpl-2.0.html GPL-2.0
7
 * @link      https://wpemerge.com/
8
 */
9
10
namespace WPEmerge\View;
11
12
use WPEmerge\Support\Arr;
13
14
trait HasContextTrait {
15
	/**
16
	 * Context.
17
	 *
18
	 * @var array
19
	 */
20
	protected $context = [];
21
22
	/**
23
	 * Get context values.
24
	 *
25
	 * @param  string|null $key
26
	 * @param  mixed|null  $default
27
	 * @return mixed
28
	 */
29 1
	public function getContext( $key = null, $default = null ) {
30 1
		if ( $key === null ) {
31 1
			return $this->context;
32
		}
33
34 1
		return Arr::get( $this->context, $key, $default );
35
	}
36
37
	/**
38
	 * Add context values.
39
	 *
40
	 * @param  string|array<string, mixed> $key
41
	 * @param  mixed                       $value
42
	 * @return static                      $this
43
	 */
44 1
	public function with( $key, $value = null ) {
45 1
		if ( is_array( $key ) ) {
0 ignored issues
show
The function is_array was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

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

45
		if ( /** @scrutinizer ignore-call */ is_array( $key ) ) {
Loading history...
46 1
			$this->context = array_merge( $this->getContext(), $key );
47
		} else {
48 1
			$this->context[ $key ] = $value;
49
		}
50 1
		return $this;
51
	}
52
}
53