PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.32
Booking for Appointments and Events Calendar – Amelia v1.2.32
2.4.9 2.4.8 2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Application / Commands / CommandHandler.php
ameliabooking / src / Application / Commands Last commit date
Bookable 1 year ago Booking 1 year ago Entities 1 year ago Import 1 year ago Notification 1 year ago Payment 1 year ago Settings 1 year ago Square 1 year ago Stash 1 year ago Stats 1 year ago Test 1 year ago User 1 year ago WhatsNew 1 year ago Command.php 1 year ago CommandHandler.php 7 years ago CommandResult.php 1 year ago
CommandHandler.php
61 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Commands;
4
5 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
6 use AmeliaBooking\Infrastructure\Common\Container;
7
8 /**
9 * Class CommandHandler
10 *
11 * @package AmeliaBooking\Application\Commands
12 */
13 abstract class CommandHandler
14 {
15 /**
16 * @var Container
17 */
18 protected $container;
19
20 protected $mandatoryFields = [];
21
22 /**
23 * @param Command $command
24 *
25 * @throws InvalidArgumentException
26 */
27 public function checkMandatoryFields($command)
28 {
29 $missingFields = [];
30
31 foreach ($this->mandatoryFields as $field) {
32 if ($command->getField($field) === null) {
33 $missingFields[] = $field;
34 }
35 }
36 if (!empty($missingFields)) {
37 throw new InvalidArgumentException(
38 'Mandatory fields not passed! Missing: ' . implode(', ', $missingFields)
39 );
40 }
41 }
42
43 /**
44 * CommandHandler constructor.
45 *
46 * @param Container $container
47 */
48 public function __construct($container)
49 {
50 $this->container = $container;
51 }
52
53 /**
54 * @return Container
55 */
56 public function getContainer()
57 {
58 return $this->container;
59 }
60 }
61