PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.8
Booking for Appointments and Events Calendar – Amelia v2.4.8
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 / vendor / league / tactician / src / Handler / MethodNameInflector / HandleClassNameWithoutSuffixInflector.php
ameliabooking / vendor / league / tactician / src / Handler / MethodNameInflector Last commit date
ClassNameInflector.php 7 years ago HandleClassNameInflector.php 7 years ago HandleClassNameWithoutSuffixInflector.php 7 years ago HandleInflector.php 7 years ago InvokeInflector.php 7 years ago MethodNameInflector.php 7 years ago
HandleClassNameWithoutSuffixInflector.php
53 lines
1 <?php
2 namespace League\Tactician\Handler\MethodNameInflector;
3
4 /**
5 * Returns a method name that is handle + the last portion of the class name
6 * but also without a given suffix, typically "Command". This allows you to
7 * handle multiple commands on a single object but with slightly less annoying
8 * method names.
9 *
10 * The string removal is case sensitive.
11 *
12 * Examples:
13 * - \CompleteTaskCommand => $handler->handleCompleteTask()
14 * - \My\App\DoThingCommand => $handler->handleDoThing()
15 */
16 class HandleClassNameWithoutSuffixInflector extends HandleClassNameInflector
17 {
18 /**
19 * @var string
20 */
21 private $suffix;
22
23 /**
24 * @var int
25 */
26 private $suffixLength;
27
28 /**
29 * @param string $suffix The string to remove from end of each class name
30 */
31 public function __construct($suffix = 'Command')
32 {
33 $this->suffix = $suffix;
34 $this->suffixLength = strlen($suffix);
35 }
36
37 /**
38 * @param object $command
39 * @param object $commandHandler
40 * @return string
41 */
42 public function inflect($command, $commandHandler)
43 {
44 $methodName = parent::inflect($command, $commandHandler);
45
46 if (substr($methodName, $this->suffixLength * -1) !== $this->suffix) {
47 return $methodName;
48 }
49
50 return substr($methodName, 0, strlen($methodName) - $this->suffixLength);
51 }
52 }
53