PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
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 weeks ago Booking 2 weeks ago Calendar 2 weeks ago Entities 2 weeks ago Google 3 months ago Import 3 months ago Mobile 2 weeks ago Notification 2 weeks ago Payment 2 months ago QrCode 3 months ago Settings 2 weeks ago Square 6 months ago Stash 6 months ago Stats 6 months ago Test 6 months ago User 2 days ago WhatsNew 3 months ago Command.php 4 weeks ago CommandHandler.php 7 years ago CommandResult.php 4 months ago SortParamsTrait.php 3 months 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