PluginProbe
Depicter — Popup & Slider Builder / 1.2.0
Depicter — Popup & Slider Builder v1.2.0
4.8.1 trunk 1.0.0 1.1.0 1.1.2 1.1.4 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.5 1.3.8 1.5.0 1.5.1 1.5.2 1.5.5 1.6.0 1.6.1 1.6.2 1.7.0 All 76 releases
depicter / vendor / htmlburger / wpemerge / src / Routing / Conditions / CustomCondition.php

CustomCondition.php in Depicter — Popup & Slider Builder 1.2.0, at vendor/htmlburger/wpemerge/src/Routing/Conditions/CustomCondition.php

68 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package WPEmerge
4 * @author Atanas Angelov <hi@atanas.dev>
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\Routing\Conditions;
11
12 use WPEmerge\Requests\RequestInterface;
13
14 /**
15 * Check against a custom callable.
16 */
17 class CustomCondition implements ConditionInterface {
18 /**
19 * Callable to use
20 *
21 * @var callable
22 */
23 protected $callable = null;
24
25 /**
26 * Arguments to pass to the callable and controller
27 *
28 * @var array
29 */
30 protected $arguments = [];
31
32 /**
33 * Constructor
34 *
35 * @codeCoverageIgnore
36 * @param callable $callable
37 * @param mixed ,...$arguments
38 */
39 public function __construct( $callable ) {
40 $this->callable = $callable;
41 $this->arguments = array_values( array_slice( func_get_args(), 1 ) );
42 }
43
44 /**
45 * Get the assigned callable
46 *
47 * @codeCoverageIgnore
48 * @return callable
49 */
50 public function getCallable() {
51 return $this->callable;
52 }
53
54 /**
55 * {@inheritDoc}
56 */
57 public function isSatisfied( RequestInterface $request ) {
58 return call_user_func_array( $this->callable, $this->arguments );
59 }
60
61 /**
62 * {@inheritDoc}
63 */
64 public function getArguments( RequestInterface $request ) {
65 return $this->arguments;
66 }
67 }
68