PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
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 2 years ago Booking 1 year ago Entities 1 year ago Import 2 years ago Notification 1 year ago Payment 1 year ago Settings 1 year ago Square 1 year ago Stash 4 years ago Stats 2 years ago Test 2 years ago User 1 year ago WhatsNew 2 years ago Command.php 1 year ago CommandHandler.php 7 years ago CommandResult.php 6 years 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