Completed
Branch EDTR/default-entities (cb847b)
by
unknown
25:16 queued 16:52
created
core/domain/services/graphql/data/domains/EspressoEditor.php 1 patch
Indentation   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -17,24 +17,24 @@
 block discarded – undo
17 17
 class EspressoEditor implements GQLDataDomainInterface
18 18
 {
19 19
 
20
-    /**
21
-     * @param array      $loaders The loaders accessible in the AppContext
22
-     * @param AppContext $context The AppContext
23
-     * @return array
24
-     * @return array
25
-     * @since $VID:$
26
-     */
27
-    public function registerLoaders($loaders, $context)
28
-    {
29
-        $newLoaders = [
30
-            'espresso_attendee'  => new Loaders\AttendeeLoader($context),
31
-            'espresso_datetime'  => new Loaders\DatetimeLoader($context),
32
-            'espresso_price'     => new Loaders\PriceLoader($context),
33
-            'espresso_priceType' => new Loaders\PriceTypeLoader($context),
34
-            'espresso_ticket'    => new Loaders\TicketLoader($context),
35
-            'espresso_venue'     => new Loaders\VenueLoader($context),
36
-        ];
20
+	/**
21
+	 * @param array      $loaders The loaders accessible in the AppContext
22
+	 * @param AppContext $context The AppContext
23
+	 * @return array
24
+	 * @return array
25
+	 * @since $VID:$
26
+	 */
27
+	public function registerLoaders($loaders, $context)
28
+	{
29
+		$newLoaders = [
30
+			'espresso_attendee'  => new Loaders\AttendeeLoader($context),
31
+			'espresso_datetime'  => new Loaders\DatetimeLoader($context),
32
+			'espresso_price'     => new Loaders\PriceLoader($context),
33
+			'espresso_priceType' => new Loaders\PriceTypeLoader($context),
34
+			'espresso_ticket'    => new Loaders\TicketLoader($context),
35
+			'espresso_venue'     => new Loaders\VenueLoader($context),
36
+		];
37 37
 
38
-        return array_merge($loaders, $newLoaders);
39
-    }
38
+		return array_merge($loaders, $newLoaders);
39
+	}
40 40
 }
Please login to merge, or discard this patch.
core/EE_Dependency_Map.core.php 1 patch
Indentation   +1269 added lines, -1269 removed lines patch added patch discarded remove patch
@@ -21,1273 +21,1273 @@
 block discarded – undo
21 21
 class EE_Dependency_Map
22 22
 {
23 23
 
24
-    /**
25
-     * This means that the requested class dependency is not present in the dependency map
26
-     */
27
-    const not_registered = 0;
28
-
29
-    /**
30
-     * This instructs class loaders to ALWAYS return a newly instantiated object for the requested class.
31
-     */
32
-    const load_new_object = 1;
33
-
34
-    /**
35
-     * This instructs class loaders to return a previously instantiated and cached object for the requested class.
36
-     * IF a previously instantiated object does not exist, a new one will be created and added to the cache.
37
-     */
38
-    const load_from_cache = 2;
39
-
40
-    /**
41
-     * When registering a dependency,
42
-     * this indicates to keep any existing dependencies that already exist,
43
-     * and simply discard any new dependencies declared in the incoming data
44
-     */
45
-    const KEEP_EXISTING_DEPENDENCIES = 0;
46
-
47
-    /**
48
-     * When registering a dependency,
49
-     * this indicates to overwrite any existing dependencies that already exist using the incoming data
50
-     */
51
-    const OVERWRITE_DEPENDENCIES = 1;
52
-
53
-
54
-    /**
55
-     * @type EE_Dependency_Map $_instance
56
-     */
57
-    protected static $_instance;
58
-
59
-    /**
60
-     * @var ClassInterfaceCache $class_cache
61
-     */
62
-    private $class_cache;
63
-
64
-    /**
65
-     * @type RequestInterface $request
66
-     */
67
-    protected $request;
68
-
69
-    /**
70
-     * @type LegacyRequestInterface $legacy_request
71
-     */
72
-    protected $legacy_request;
73
-
74
-    /**
75
-     * @type ResponseInterface $response
76
-     */
77
-    protected $response;
78
-
79
-    /**
80
-     * @type LoaderInterface $loader
81
-     */
82
-    protected $loader;
83
-
84
-    /**
85
-     * @type array $_dependency_map
86
-     */
87
-    protected $_dependency_map = array();
88
-
89
-    /**
90
-     * @type array $_class_loaders
91
-     */
92
-    protected $_class_loaders = array();
93
-
94
-
95
-    /**
96
-     * EE_Dependency_Map constructor.
97
-     *
98
-     * @param ClassInterfaceCache $class_cache
99
-     */
100
-    protected function __construct(ClassInterfaceCache $class_cache)
101
-    {
102
-        $this->class_cache = $class_cache;
103
-        do_action('EE_Dependency_Map____construct', $this);
104
-    }
105
-
106
-
107
-    /**
108
-     * @return void
109
-     * @throws EE_Error
110
-     * @throws InvalidAliasException
111
-     */
112
-    public function initialize()
113
-    {
114
-        $this->_register_core_dependencies();
115
-        $this->_register_core_class_loaders();
116
-        $this->_register_core_aliases();
117
-    }
118
-
119
-
120
-    /**
121
-     * @singleton method used to instantiate class object
122
-     * @param ClassInterfaceCache|null $class_cache
123
-     * @return EE_Dependency_Map
124
-     */
125
-    public static function instance(ClassInterfaceCache $class_cache = null)
126
-    {
127
-        // check if class object is instantiated, and instantiated properly
128
-        if (! self::$_instance instanceof EE_Dependency_Map
129
-            && $class_cache instanceof ClassInterfaceCache
130
-        ) {
131
-            self::$_instance = new EE_Dependency_Map($class_cache);
132
-        }
133
-        return self::$_instance;
134
-    }
135
-
136
-
137
-    /**
138
-     * @param RequestInterface $request
139
-     */
140
-    public function setRequest(RequestInterface $request)
141
-    {
142
-        $this->request = $request;
143
-    }
144
-
145
-
146
-    /**
147
-     * @param LegacyRequestInterface $legacy_request
148
-     */
149
-    public function setLegacyRequest(LegacyRequestInterface $legacy_request)
150
-    {
151
-        $this->legacy_request = $legacy_request;
152
-    }
153
-
154
-
155
-    /**
156
-     * @param ResponseInterface $response
157
-     */
158
-    public function setResponse(ResponseInterface $response)
159
-    {
160
-        $this->response = $response;
161
-    }
162
-
163
-
164
-    /**
165
-     * @param LoaderInterface $loader
166
-     */
167
-    public function setLoader(LoaderInterface $loader)
168
-    {
169
-        $this->loader = $loader;
170
-    }
171
-
172
-
173
-    /**
174
-     * @param string $class
175
-     * @param array  $dependencies
176
-     * @param int    $overwrite
177
-     * @return bool
178
-     */
179
-    public static function register_dependencies(
180
-        $class,
181
-        array $dependencies,
182
-        $overwrite = EE_Dependency_Map::KEEP_EXISTING_DEPENDENCIES
183
-    ) {
184
-        return self::$_instance->registerDependencies($class, $dependencies, $overwrite);
185
-    }
186
-
187
-
188
-    /**
189
-     * Assigns an array of class names and corresponding load sources (new or cached)
190
-     * to the class specified by the first parameter.
191
-     * IMPORTANT !!!
192
-     * The order of elements in the incoming $dependencies array MUST match
193
-     * the order of the constructor parameters for the class in question.
194
-     * This is especially important when overriding any existing dependencies that are registered.
195
-     * the third parameter controls whether any duplicate dependencies are overwritten or not.
196
-     *
197
-     * @param string $class
198
-     * @param array  $dependencies
199
-     * @param int    $overwrite
200
-     * @return bool
201
-     */
202
-    public function registerDependencies(
203
-        $class,
204
-        array $dependencies,
205
-        $overwrite = EE_Dependency_Map::KEEP_EXISTING_DEPENDENCIES
206
-    ) {
207
-        $class = trim($class, '\\');
208
-        $registered = false;
209
-        if (empty(self::$_instance->_dependency_map[ $class ])) {
210
-            self::$_instance->_dependency_map[ $class ] = array();
211
-        }
212
-        // we need to make sure that any aliases used when registering a dependency
213
-        // get resolved to the correct class name
214
-        foreach ($dependencies as $dependency => $load_source) {
215
-            $alias = self::$_instance->getFqnForAlias($dependency);
216
-            if ($overwrite === EE_Dependency_Map::OVERWRITE_DEPENDENCIES
217
-                || ! isset(self::$_instance->_dependency_map[ $class ][ $alias ])
218
-            ) {
219
-                unset($dependencies[ $dependency ]);
220
-                $dependencies[ $alias ] = $load_source;
221
-                $registered = true;
222
-            }
223
-        }
224
-        // now add our two lists of dependencies together.
225
-        // using Union (+=) favours the arrays in precedence from left to right,
226
-        // so $dependencies is NOT overwritten because it is listed first
227
-        // ie: with A = B + C, entries in B take precedence over duplicate entries in C
228
-        // Union is way faster than array_merge() but should be used with caution...
229
-        // especially with numerically indexed arrays
230
-        $dependencies += self::$_instance->_dependency_map[ $class ];
231
-        // now we need to ensure that the resulting dependencies
232
-        // array only has the entries that are required for the class
233
-        // so first count how many dependencies were originally registered for the class
234
-        $dependency_count = count(self::$_instance->_dependency_map[ $class ]);
235
-        // if that count is non-zero (meaning dependencies were already registered)
236
-        self::$_instance->_dependency_map[ $class ] = $dependency_count
237
-            // then truncate the  final array to match that count
238
-            ? array_slice($dependencies, 0, $dependency_count)
239
-            // otherwise just take the incoming array because nothing previously existed
240
-            : $dependencies;
241
-        return $registered;
242
-    }
243
-
244
-
245
-    /**
246
-     * @param string $class_name
247
-     * @param string $loader
248
-     * @return bool
249
-     * @throws DomainException
250
-     */
251
-    public static function register_class_loader($class_name, $loader = 'load_core')
252
-    {
253
-        if (! $loader instanceof Closure && strpos($class_name, '\\') !== false) {
254
-            throw new DomainException(
255
-                esc_html__('Don\'t use class loaders for FQCNs.', 'event_espresso')
256
-            );
257
-        }
258
-        // check that loader is callable or method starts with "load_" and exists in EE_Registry
259
-        if (! is_callable($loader)
260
-            && (
261
-                strpos($loader, 'load_') !== 0
262
-                || ! method_exists('EE_Registry', $loader)
263
-            )
264
-        ) {
265
-            throw new DomainException(
266
-                sprintf(
267
-                    esc_html__(
268
-                        '"%1$s" is not a valid loader method on EE_Registry.',
269
-                        'event_espresso'
270
-                    ),
271
-                    $loader
272
-                )
273
-            );
274
-        }
275
-        $class_name = self::$_instance->getFqnForAlias($class_name);
276
-        if (! isset(self::$_instance->_class_loaders[ $class_name ])) {
277
-            self::$_instance->_class_loaders[ $class_name ] = $loader;
278
-            return true;
279
-        }
280
-        return false;
281
-    }
282
-
283
-
284
-    /**
285
-     * @return array
286
-     */
287
-    public function dependency_map()
288
-    {
289
-        return $this->_dependency_map;
290
-    }
291
-
292
-
293
-    /**
294
-     * returns TRUE if dependency map contains a listing for the provided class name
295
-     *
296
-     * @param string $class_name
297
-     * @return boolean
298
-     */
299
-    public function has($class_name = '')
300
-    {
301
-        // all legacy models have the same dependencies
302
-        if (strpos($class_name, 'EEM_') === 0) {
303
-            $class_name = 'LEGACY_MODELS';
304
-        }
305
-        return isset($this->_dependency_map[ $class_name ]) ? true : false;
306
-    }
307
-
308
-
309
-    /**
310
-     * returns TRUE if dependency map contains a listing for the provided class name AND dependency
311
-     *
312
-     * @param string $class_name
313
-     * @param string $dependency
314
-     * @return bool
315
-     */
316
-    public function has_dependency_for_class($class_name = '', $dependency = '')
317
-    {
318
-        // all legacy models have the same dependencies
319
-        if (strpos($class_name, 'EEM_') === 0) {
320
-            $class_name = 'LEGACY_MODELS';
321
-        }
322
-        $dependency = $this->getFqnForAlias($dependency, $class_name);
323
-        return isset($this->_dependency_map[ $class_name ][ $dependency ])
324
-            ? true
325
-            : false;
326
-    }
327
-
328
-
329
-    /**
330
-     * returns loading strategy for whether a previously cached dependency should be loaded or a new instance returned
331
-     *
332
-     * @param string $class_name
333
-     * @param string $dependency
334
-     * @return int
335
-     */
336
-    public function loading_strategy_for_class_dependency($class_name = '', $dependency = '')
337
-    {
338
-        // all legacy models have the same dependencies
339
-        if (strpos($class_name, 'EEM_') === 0) {
340
-            $class_name = 'LEGACY_MODELS';
341
-        }
342
-        $dependency = $this->getFqnForAlias($dependency);
343
-        return $this->has_dependency_for_class($class_name, $dependency)
344
-            ? $this->_dependency_map[ $class_name ][ $dependency ]
345
-            : EE_Dependency_Map::not_registered;
346
-    }
347
-
348
-
349
-    /**
350
-     * @param string $class_name
351
-     * @return string | Closure
352
-     */
353
-    public function class_loader($class_name)
354
-    {
355
-        // all legacy models use load_model()
356
-        if (strpos($class_name, 'EEM_') === 0) {
357
-            return 'load_model';
358
-        }
359
-        // EE_CPT_*_Strategy classes like EE_CPT_Event_Strategy, EE_CPT_Venue_Strategy, etc
360
-        // perform strpos() first to avoid loading regex every time we load a class
361
-        if (strpos($class_name, 'EE_CPT_') === 0
362
-            && preg_match('/^EE_CPT_([a-zA-Z]+)_Strategy$/', $class_name)
363
-        ) {
364
-            return 'load_core';
365
-        }
366
-        $class_name = $this->getFqnForAlias($class_name);
367
-        return isset($this->_class_loaders[ $class_name ]) ? $this->_class_loaders[ $class_name ] : '';
368
-    }
369
-
370
-
371
-    /**
372
-     * @return array
373
-     */
374
-    public function class_loaders()
375
-    {
376
-        return $this->_class_loaders;
377
-    }
378
-
379
-
380
-    /**
381
-     * adds an alias for a classname
382
-     *
383
-     * @param string $fqcn      the class name that should be used (concrete class to replace interface)
384
-     * @param string $alias     the class name that would be type hinted for (abstract parent or interface)
385
-     * @param string $for_class the class that has the dependency (is type hinting for the interface)
386
-     * @throws InvalidAliasException
387
-     */
388
-    public function add_alias($fqcn, $alias, $for_class = '')
389
-    {
390
-        $this->class_cache->addAlias($fqcn, $alias, $for_class);
391
-    }
392
-
393
-
394
-    /**
395
-     * Returns TRUE if the provided fully qualified name IS an alias
396
-     * WHY?
397
-     * Because if a class is type hinting for a concretion,
398
-     * then why would we need to find another class to supply it?
399
-     * ie: if a class asks for `Fully/Qualified/Namespace/SpecificClassName`,
400
-     * then give it an instance of `Fully/Qualified/Namespace/SpecificClassName`.
401
-     * Don't go looking for some substitute.
402
-     * Whereas if a class is type hinting for an interface...
403
-     * then we need to find an actual class to use.
404
-     * So the interface IS the alias for some other FQN,
405
-     * and we need to find out if `Fully/Qualified/Namespace/SomeInterface`
406
-     * represents some other class.
407
-     *
408
-     * @param string $fqn
409
-     * @param string $for_class
410
-     * @return bool
411
-     */
412
-    public function isAlias($fqn = '', $for_class = '')
413
-    {
414
-        return $this->class_cache->isAlias($fqn, $for_class);
415
-    }
416
-
417
-
418
-    /**
419
-     * Returns a FQN for provided alias if one exists, otherwise returns the original $alias
420
-     * functions recursively, so that multiple aliases can be used to drill down to a FQN
421
-     *  for example:
422
-     *      if the following two entries were added to the _aliases array:
423
-     *          array(
424
-     *              'interface_alias'           => 'some\namespace\interface'
425
-     *              'some\namespace\interface'  => 'some\namespace\classname'
426
-     *          )
427
-     *      then one could use EE_Registry::instance()->create( 'interface_alias' )
428
-     *      to load an instance of 'some\namespace\classname'
429
-     *
430
-     * @param string $alias
431
-     * @param string $for_class
432
-     * @return string
433
-     */
434
-    public function getFqnForAlias($alias = '', $for_class = '')
435
-    {
436
-        return (string) $this->class_cache->getFqnForAlias($alias, $for_class);
437
-    }
438
-
439
-
440
-    /**
441
-     * Registers the core dependencies and whether a previously instantiated object should be loaded from the cache,
442
-     * if one exists, or whether a new object should be generated every time the requested class is loaded.
443
-     * This is done by using the following class constants:
444
-     *        EE_Dependency_Map::load_from_cache - loads previously instantiated object
445
-     *        EE_Dependency_Map::load_new_object - generates a new object every time
446
-     */
447
-    protected function _register_core_dependencies()
448
-    {
449
-        $this->_dependency_map = array(
450
-            'EE_Request_Handler'                                                                                          => array(
451
-                'EE_Request' => EE_Dependency_Map::load_from_cache,
452
-            ),
453
-            'EE_System'                                                                                                   => array(
454
-                'EE_Registry'                                 => EE_Dependency_Map::load_from_cache,
455
-                'EventEspresso\core\services\loaders\Loader'  => EE_Dependency_Map::load_from_cache,
456
-                'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
457
-                'EE_Maintenance_Mode'                         => EE_Dependency_Map::load_from_cache,
458
-            ),
459
-            'EE_Session'                                                                                                  => array(
460
-                'EventEspresso\core\services\cache\TransientCacheStorage'  => EE_Dependency_Map::load_from_cache,
461
-                'EventEspresso\core\domain\values\session\SessionLifespan' => EE_Dependency_Map::load_from_cache,
462
-                'EventEspresso\core\services\request\Request'              => EE_Dependency_Map::load_from_cache,
463
-                'EventEspresso\core\services\session\SessionStartHandler'  => EE_Dependency_Map::load_from_cache,
464
-                'EE_Encryption'                                            => EE_Dependency_Map::load_from_cache,
465
-            ),
466
-            'EE_Cart'                                                                                                     => array(
467
-                'EE_Session' => EE_Dependency_Map::load_from_cache,
468
-            ),
469
-            'EE_Front_Controller'                                                                                         => array(
470
-                'EE_Registry'              => EE_Dependency_Map::load_from_cache,
471
-                'EE_Request_Handler'       => EE_Dependency_Map::load_from_cache,
472
-                'EE_Module_Request_Router' => EE_Dependency_Map::load_from_cache,
473
-            ),
474
-            'EE_Messenger_Collection_Loader'                                                                              => array(
475
-                'EE_Messenger_Collection' => EE_Dependency_Map::load_new_object,
476
-            ),
477
-            'EE_Message_Type_Collection_Loader'                                                                           => array(
478
-                'EE_Message_Type_Collection' => EE_Dependency_Map::load_new_object,
479
-            ),
480
-            'EE_Message_Resource_Manager'                                                                                 => array(
481
-                'EE_Messenger_Collection_Loader'    => EE_Dependency_Map::load_new_object,
482
-                'EE_Message_Type_Collection_Loader' => EE_Dependency_Map::load_new_object,
483
-                'EEM_Message_Template_Group'        => EE_Dependency_Map::load_from_cache,
484
-            ),
485
-            'EE_Message_Factory'                                                                                          => array(
486
-                'EE_Message_Resource_Manager' => EE_Dependency_Map::load_from_cache,
487
-            ),
488
-            'EE_messages'                                                                                                 => array(
489
-                'EE_Message_Resource_Manager' => EE_Dependency_Map::load_from_cache,
490
-            ),
491
-            'EE_Messages_Generator'                                                                                       => array(
492
-                'EE_Messages_Queue'                    => EE_Dependency_Map::load_new_object,
493
-                'EE_Messages_Data_Handler_Collection'  => EE_Dependency_Map::load_new_object,
494
-                'EE_Message_Template_Group_Collection' => EE_Dependency_Map::load_new_object,
495
-                'EEH_Parse_Shortcodes'                 => EE_Dependency_Map::load_from_cache,
496
-            ),
497
-            'EE_Messages_Processor'                                                                                       => array(
498
-                'EE_Message_Resource_Manager' => EE_Dependency_Map::load_from_cache,
499
-            ),
500
-            'EE_Messages_Queue'                                                                                           => array(
501
-                'EE_Message_Repository' => EE_Dependency_Map::load_new_object,
502
-            ),
503
-            'EE_Messages_Template_Defaults'                                                                               => array(
504
-                'EEM_Message_Template_Group' => EE_Dependency_Map::load_from_cache,
505
-                'EEM_Message_Template'       => EE_Dependency_Map::load_from_cache,
506
-            ),
507
-            'EE_Message_To_Generate_From_Request'                                                                         => array(
508
-                'EE_Message_Resource_Manager' => EE_Dependency_Map::load_from_cache,
509
-                'EE_Request_Handler'          => EE_Dependency_Map::load_from_cache,
510
-            ),
511
-            'EventEspresso\core\services\commands\CommandBus'                                                             => array(
512
-                'EventEspresso\core\services\commands\CommandHandlerManager' => EE_Dependency_Map::load_from_cache,
513
-            ),
514
-            'EventEspresso\services\commands\CommandHandler'                                                              => array(
515
-                'EE_Registry'         => EE_Dependency_Map::load_from_cache,
516
-                'CommandBusInterface' => EE_Dependency_Map::load_from_cache,
517
-            ),
518
-            'EventEspresso\core\services\commands\CommandHandlerManager'                                                  => array(
519
-                'EventEspresso\core\services\loaders\Loader' => EE_Dependency_Map::load_from_cache,
520
-            ),
521
-            'EventEspresso\core\services\commands\CompositeCommandHandler'                                                => array(
522
-                'EventEspresso\core\services\commands\CommandBus'     => EE_Dependency_Map::load_from_cache,
523
-                'EventEspresso\core\services\commands\CommandFactory' => EE_Dependency_Map::load_from_cache,
524
-            ),
525
-            'EventEspresso\core\services\commands\CommandFactory'                                                         => array(
526
-                'EventEspresso\core\services\loaders\Loader' => EE_Dependency_Map::load_from_cache,
527
-            ),
528
-            'EventEspresso\core\services\commands\middleware\CapChecker'                                                  => array(
529
-                'EventEspresso\core\domain\services\capabilities\CapabilitiesChecker' => EE_Dependency_Map::load_from_cache,
530
-            ),
531
-            'EventEspresso\core\domain\services\capabilities\CapabilitiesChecker'                                         => array(
532
-                'EE_Capabilities' => EE_Dependency_Map::load_from_cache,
533
-            ),
534
-            'EventEspresso\core\domain\services\capabilities\RegistrationsCapChecker'                                     => array(
535
-                'EE_Capabilities' => EE_Dependency_Map::load_from_cache,
536
-            ),
537
-            'EventEspresso\core\services\commands\registration\CreateRegistrationCommandHandler'                          => array(
538
-                'EventEspresso\core\domain\services\registration\CreateRegistrationService' => EE_Dependency_Map::load_from_cache,
539
-            ),
540
-            'EventEspresso\core\services\commands\registration\CopyRegistrationDetailsCommandHandler'                     => array(
541
-                'EventEspresso\core\domain\services\registration\CopyRegistrationService' => EE_Dependency_Map::load_from_cache,
542
-            ),
543
-            'EventEspresso\core\services\commands\registration\CopyRegistrationPaymentsCommandHandler'                    => array(
544
-                'EventEspresso\core\domain\services\registration\CopyRegistrationService' => EE_Dependency_Map::load_from_cache,
545
-            ),
546
-            'EventEspresso\core\services\commands\registration\CancelRegistrationAndTicketLineItemCommandHandler'         => array(
547
-                'EventEspresso\core\domain\services\registration\CancelTicketLineItemService' => EE_Dependency_Map::load_from_cache,
548
-            ),
549
-            'EventEspresso\core\services\commands\registration\UpdateRegistrationAndTransactionAfterChangeCommandHandler' => array(
550
-                'EventEspresso\core\domain\services\registration\UpdateRegistrationService' => EE_Dependency_Map::load_from_cache,
551
-            ),
552
-            'EventEspresso\core\services\commands\ticket\CreateTicketLineItemCommandHandler'                              => array(
553
-                'EventEspresso\core\domain\services\ticket\CreateTicketLineItemService' => EE_Dependency_Map::load_from_cache,
554
-            ),
555
-            'EventEspresso\core\services\commands\ticket\CancelTicketLineItemCommandHandler'                              => array(
556
-                'EventEspresso\core\domain\services\ticket\CancelTicketLineItemService' => EE_Dependency_Map::load_from_cache,
557
-            ),
558
-            'EventEspresso\core\domain\services\registration\CancelRegistrationService'                                   => array(
559
-                'EventEspresso\core\domain\services\ticket\CancelTicketLineItemService' => EE_Dependency_Map::load_from_cache,
560
-            ),
561
-            'EventEspresso\core\services\commands\attendee\CreateAttendeeCommandHandler'                                  => array(
562
-                'EEM_Attendee' => EE_Dependency_Map::load_from_cache,
563
-            ),
564
-            'EventEspresso\core\services\database\TableManager'                                                           => array(
565
-                'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
566
-            ),
567
-            'EE_Data_Migration_Class_Base'                                                                                => array(
568
-                'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
569
-                'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
570
-            ),
571
-            'EE_DMS_Core_4_1_0'                                                                                           => array(
572
-                'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
573
-                'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
574
-            ),
575
-            'EE_DMS_Core_4_2_0'                                                                                           => array(
576
-                'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
577
-                'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
578
-            ),
579
-            'EE_DMS_Core_4_3_0'                                                                                           => array(
580
-                'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
581
-                'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
582
-            ),
583
-            'EE_DMS_Core_4_4_0'                                                                                           => array(
584
-                'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
585
-                'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
586
-            ),
587
-            'EE_DMS_Core_4_5_0'                                                                                           => array(
588
-                'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
589
-                'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
590
-            ),
591
-            'EE_DMS_Core_4_6_0'                                                                                           => array(
592
-                'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
593
-                'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
594
-            ),
595
-            'EE_DMS_Core_4_7_0'                                                                                           => array(
596
-                'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
597
-                'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
598
-            ),
599
-            'EE_DMS_Core_4_8_0'                                                                                           => array(
600
-                'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
601
-                'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
602
-            ),
603
-            'EE_DMS_Core_4_9_0' => array(
604
-                'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
605
-                'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
606
-            ),
607
-            'EE_DMS_Core_4_10_0' => array(
608
-                'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
609
-                'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
610
-                'EE_DMS_Core_4_9_0'                                  => EE_Dependency_Map::load_from_cache,
611
-            ),
612
-            'EventEspresso\core\services\assets\I18nRegistry'                                                             => array(
613
-                'EventEspresso\core\domain\Domain' => EE_Dependency_Map::load_from_cache,
614
-                'EventEspresso\core\services\assets\JedLocaleData' => EE_Dependency_Map::load_from_cache,
615
-                array(),
616
-            ),
617
-            'EventEspresso\core\services\assets\Registry'                                                                 => array(
618
-                'EventEspresso\core\services\assets\AssetCollection' => EE_Dependency_Map::load_from_cache,
619
-                'EventEspresso\core\services\assets\I18nRegistry'    => EE_Dependency_Map::load_from_cache,
620
-            ),
621
-            'EventEspresso\core\domain\entities\shortcodes\EspressoCancelled'                                             => array(
622
-                'EventEspresso\core\services\cache\PostRelatedCacheManager' => EE_Dependency_Map::load_from_cache,
623
-            ),
624
-            'EventEspresso\core\domain\entities\shortcodes\EspressoCheckout'                                              => array(
625
-                'EventEspresso\core\services\cache\PostRelatedCacheManager' => EE_Dependency_Map::load_from_cache,
626
-            ),
627
-            'EventEspresso\core\domain\entities\shortcodes\EspressoEventAttendees'                                        => array(
628
-                'EventEspresso\core\services\cache\PostRelatedCacheManager' => EE_Dependency_Map::load_from_cache,
629
-            ),
630
-            'EventEspresso\core\domain\entities\shortcodes\EspressoEvents'                                                => array(
631
-                'EventEspresso\core\services\cache\PostRelatedCacheManager' => EE_Dependency_Map::load_from_cache,
632
-            ),
633
-            'EventEspresso\core\domain\entities\shortcodes\EspressoThankYou'                                              => array(
634
-                'EventEspresso\core\services\cache\PostRelatedCacheManager' => EE_Dependency_Map::load_from_cache,
635
-            ),
636
-            'EventEspresso\core\domain\entities\shortcodes\EspressoTicketSelector'                                        => array(
637
-                'EventEspresso\core\services\cache\PostRelatedCacheManager' => EE_Dependency_Map::load_from_cache,
638
-            ),
639
-            'EventEspresso\core\domain\entities\shortcodes\EspressoTxnPage'                                               => array(
640
-                'EventEspresso\core\services\cache\PostRelatedCacheManager' => EE_Dependency_Map::load_from_cache,
641
-            ),
642
-            'EventEspresso\core\services\cache\BasicCacheManager'                                                         => array(
643
-                'EventEspresso\core\services\cache\TransientCacheStorage' => EE_Dependency_Map::load_from_cache,
644
-            ),
645
-            'EventEspresso\core\services\cache\PostRelatedCacheManager'                                                   => array(
646
-                'EventEspresso\core\services\cache\TransientCacheStorage' => EE_Dependency_Map::load_from_cache,
647
-            ),
648
-            'EventEspresso\core\domain\services\validation\email\EmailValidationService'                                  => array(
649
-                'EE_Registration_Config'                     => EE_Dependency_Map::load_from_cache,
650
-                'EventEspresso\core\services\loaders\Loader' => EE_Dependency_Map::load_from_cache,
651
-            ),
652
-            'EventEspresso\core\domain\values\EmailAddress'                                                               => array(
653
-                null,
654
-                'EventEspresso\core\domain\services\validation\email\EmailValidationService' => EE_Dependency_Map::load_from_cache,
655
-            ),
656
-            'EventEspresso\core\services\orm\ModelFieldFactory'                                                           => array(
657
-                'EventEspresso\core\services\loaders\Loader' => EE_Dependency_Map::load_from_cache,
658
-            ),
659
-            'LEGACY_MODELS'                                                                                               => array(
660
-                null,
661
-                'EventEspresso\core\services\database\ModelFieldFactory' => EE_Dependency_Map::load_from_cache,
662
-            ),
663
-            'EE_Module_Request_Router'                                                                                    => array(
664
-                'EE_Request' => EE_Dependency_Map::load_from_cache,
665
-            ),
666
-            'EE_Registration_Processor'                                                                                   => array(
667
-                'EE_Request' => EE_Dependency_Map::load_from_cache,
668
-            ),
669
-            'EventEspresso\core\services\notifications\PersistentAdminNoticeManager'                                      => array(
670
-                null,
671
-                'EventEspresso\core\domain\services\capabilities\CapabilitiesChecker' => EE_Dependency_Map::load_from_cache,
672
-                'EventEspresso\core\services\request\Request'                         => EE_Dependency_Map::load_from_cache,
673
-            ),
674
-            'EventEspresso\core\services\licensing\LicenseService'                                                        => array(
675
-                'EventEspresso\core\domain\services\pue\Stats'  => EE_Dependency_Map::load_from_cache,
676
-                'EventEspresso\core\domain\services\pue\Config' => EE_Dependency_Map::load_from_cache,
677
-            ),
678
-            'EE_Admin_Transactions_List_Table'                                                                            => array(
679
-                null,
680
-                'EventEspresso\core\domain\values\session\SessionLifespan' => EE_Dependency_Map::load_from_cache,
681
-            ),
682
-            'EventEspresso\core\domain\services\pue\Stats'                                                                => array(
683
-                'EventEspresso\core\domain\services\pue\Config'        => EE_Dependency_Map::load_from_cache,
684
-                'EE_Maintenance_Mode'                                  => EE_Dependency_Map::load_from_cache,
685
-                'EventEspresso\core\domain\services\pue\StatsGatherer' => EE_Dependency_Map::load_from_cache,
686
-            ),
687
-            'EventEspresso\core\domain\services\pue\Config'                                                               => array(
688
-                'EE_Network_Config' => EE_Dependency_Map::load_from_cache,
689
-                'EE_Config'         => EE_Dependency_Map::load_from_cache,
690
-            ),
691
-            'EventEspresso\core\domain\services\pue\StatsGatherer'                                                        => array(
692
-                'EEM_Payment_Method' => EE_Dependency_Map::load_from_cache,
693
-                'EEM_Event'          => EE_Dependency_Map::load_from_cache,
694
-                'EEM_Datetime'       => EE_Dependency_Map::load_from_cache,
695
-                'EEM_Ticket'         => EE_Dependency_Map::load_from_cache,
696
-                'EEM_Registration'   => EE_Dependency_Map::load_from_cache,
697
-                'EEM_Transaction'    => EE_Dependency_Map::load_from_cache,
698
-                'EE_Config'          => EE_Dependency_Map::load_from_cache,
699
-            ),
700
-            'EventEspresso\core\domain\services\admin\ExitModal'                                                          => array(
701
-                'EventEspresso\core\services\assets\Registry' => EE_Dependency_Map::load_from_cache,
702
-            ),
703
-            'EventEspresso\core\domain\services\admin\PluginUpsells'                                                      => array(
704
-                'EventEspresso\core\domain\Domain' => EE_Dependency_Map::load_from_cache,
705
-            ),
706
-            'EventEspresso\caffeinated\modules\recaptcha_invisible\InvisibleRecaptcha'                                    => array(
707
-                'EE_Registration_Config' => EE_Dependency_Map::load_from_cache,
708
-                'EE_Session'             => EE_Dependency_Map::load_from_cache,
709
-            ),
710
-            'EventEspresso\caffeinated\modules\recaptcha_invisible\RecaptchaAdminSettings'                                => array(
711
-                'EE_Registration_Config' => EE_Dependency_Map::load_from_cache,
712
-            ),
713
-            'EventEspresso\modules\ticket_selector\ProcessTicketSelector'                                                 => array(
714
-                'EE_Core_Config'                                                          => EE_Dependency_Map::load_from_cache,
715
-                'EventEspresso\core\services\request\Request'                             => EE_Dependency_Map::load_from_cache,
716
-                'EE_Session'                                                              => EE_Dependency_Map::load_from_cache,
717
-                'EEM_Ticket'                                                              => EE_Dependency_Map::load_from_cache,
718
-                'EventEspresso\modules\ticket_selector\TicketDatetimeAvailabilityTracker' => EE_Dependency_Map::load_from_cache,
719
-            ),
720
-            'EventEspresso\modules\ticket_selector\TicketDatetimeAvailabilityTracker'                                     => array(
721
-                'EEM_Datetime' => EE_Dependency_Map::load_from_cache,
722
-            ),
723
-            'EventEspresso\core\domain\entities\custom_post_types\CustomPostTypeDefinitions'                              => array(
724
-                'EE_Core_Config'                             => EE_Dependency_Map::load_from_cache,
725
-                'EventEspresso\core\services\loaders\Loader' => EE_Dependency_Map::load_from_cache,
726
-            ),
727
-            'EventEspresso\core\domain\services\custom_post_types\RegisterCustomPostTypes'                                => array(
728
-                'EventEspresso\core\domain\entities\custom_post_types\CustomPostTypeDefinitions' => EE_Dependency_Map::load_from_cache,
729
-            ),
730
-            'EventEspresso\core\domain\services\custom_post_types\RegisterCustomTaxonomies'                               => array(
731
-                'EventEspresso\core\domain\entities\custom_post_types\CustomTaxonomyDefinitions' => EE_Dependency_Map::load_from_cache,
732
-            ),
733
-            'EE_CPT_Strategy'                                                                                             => array(
734
-                'EventEspresso\core\domain\entities\custom_post_types\CustomPostTypeDefinitions' => EE_Dependency_Map::load_from_cache,
735
-                'EventEspresso\core\domain\entities\custom_post_types\CustomTaxonomyDefinitions' => EE_Dependency_Map::load_from_cache,
736
-            ),
737
-            'EventEspresso\core\services\loaders\ObjectIdentifier'                                                        => array(
738
-                'EventEspresso\core\services\loaders\ClassInterfaceCache' => EE_Dependency_Map::load_from_cache,
739
-            ),
740
-            'EventEspresso\core\domain\services\assets\CoreAssetManager'                                                  => array(
741
-                'EventEspresso\core\services\assets\AssetCollection' => EE_Dependency_Map::load_from_cache,
742
-                'EE_Currency_Config'                                 => EE_Dependency_Map::load_from_cache,
743
-                'EE_Template_Config'                                 => EE_Dependency_Map::load_from_cache,
744
-                'EventEspresso\core\domain\Domain'                   => EE_Dependency_Map::load_from_cache,
745
-                'EventEspresso\core\services\assets\Registry'        => EE_Dependency_Map::load_from_cache,
746
-            ),
747
-            'EventEspresso\core\domain\services\admin\privacy\policy\PrivacyPolicy' => array(
748
-                'EEM_Payment_Method' => EE_Dependency_Map::load_from_cache,
749
-                'EventEspresso\core\domain\values\session\SessionLifespan' => EE_Dependency_Map::load_from_cache
750
-            ),
751
-            'EventEspresso\core\domain\services\admin\privacy\export\ExportAttendee' => array(
752
-                'EEM_Attendee' => EE_Dependency_Map::load_from_cache,
753
-            ),
754
-            'EventEspresso\core\domain\services\admin\privacy\export\ExportAttendeeBillingData' => array(
755
-                'EEM_Attendee' => EE_Dependency_Map::load_from_cache,
756
-                'EEM_Payment_Method' => EE_Dependency_Map::load_from_cache
757
-            ),
758
-            'EventEspresso\core\domain\services\admin\privacy\export\ExportCheckins' => array(
759
-                'EEM_Checkin' => EE_Dependency_Map::load_from_cache,
760
-            ),
761
-            'EventEspresso\core\domain\services\admin\privacy\export\ExportRegistration' => array(
762
-                'EEM_Registration' => EE_Dependency_Map::load_from_cache,
763
-            ),
764
-            'EventEspresso\core\domain\services\admin\privacy\export\ExportTransaction' => array(
765
-                'EEM_Transaction' => EE_Dependency_Map::load_from_cache,
766
-            ),
767
-            'EventEspresso\core\domain\services\admin\privacy\erasure\EraseAttendeeData' => array(
768
-                'EEM_Attendee' => EE_Dependency_Map::load_from_cache,
769
-            ),
770
-            'EventEspresso\core\domain\services\admin\privacy\erasure\EraseAnswers' => array(
771
-                'EEM_Answer' => EE_Dependency_Map::load_from_cache,
772
-                'EEM_Question' => EE_Dependency_Map::load_from_cache,
773
-            ),
774
-            'EventEspresso\core\CPTs\CptQueryModifier' => array(
775
-                null,
776
-                null,
777
-                null,
778
-                'EE_Request_Handler'                          => EE_Dependency_Map::load_from_cache,
779
-                'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
780
-                'EventEspresso\core\services\loaders\Loader'  => EE_Dependency_Map::load_from_cache,
781
-            ),
782
-            'EventEspresso\core\domain\services\admin\privacy\forms\PrivacySettingsFormHandler' => array(
783
-                'EE_Registry' => EE_Dependency_Map::load_from_cache,
784
-                'EE_Config' => EE_Dependency_Map::load_from_cache
785
-            ),
786
-            'EventEspresso\core\services\editor\BlockRegistrationManager'                                                 => array(
787
-                'EventEspresso\core\services\assets\BlockAssetManagerCollection' => EE_Dependency_Map::load_from_cache,
788
-                'EventEspresso\core\domain\entities\editor\BlockCollection'      => EE_Dependency_Map::load_from_cache,
789
-                'EventEspresso\core\services\route_match\RouteMatchSpecificationManager' => EE_Dependency_Map::load_from_cache,
790
-                'EventEspresso\core\services\request\Request'                    => EE_Dependency_Map::load_from_cache,
791
-            ),
792
-            'EventEspresso\core\domain\entities\editor\CoreBlocksAssetManager' => array(
793
-                'EventEspresso\core\domain\Domain'                   => EE_Dependency_Map::load_from_cache,
794
-                'EventEspresso\core\services\assets\AssetCollection' => EE_Dependency_Map::load_from_cache,
795
-                'EventEspresso\core\services\assets\Registry'        => EE_Dependency_Map::load_from_cache,
796
-            ),
797
-            'EventEspresso\core\domain\services\blocks\EventAttendeesBlockRenderer' => array(
798
-                'EventEspresso\core\domain\Domain' => EE_Dependency_Map::load_from_cache,
799
-                'EEM_Attendee' => EE_Dependency_Map::load_from_cache,
800
-            ),
801
-            'EventEspresso\core\domain\entities\editor\blocks\EventAttendees' => array(
802
-                'EventEspresso\core\domain\entities\editor\CoreBlocksAssetManager' => self::load_from_cache,
803
-                'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
804
-                'EventEspresso\core\domain\services\blocks\EventAttendeesBlockRenderer' => self::load_from_cache,
805
-            ),
806
-            'EventEspresso\core\services\route_match\RouteMatchSpecificationDependencyResolver' => array(
807
-                'EventEspresso\core\services\container\Mirror' => EE_Dependency_Map::load_from_cache,
808
-                'EventEspresso\core\services\loaders\ClassInterfaceCache' => EE_Dependency_Map::load_from_cache,
809
-                'EE_Dependency_Map' => EE_Dependency_Map::load_from_cache,
810
-            ),
811
-            'EventEspresso\core\services\route_match\RouteMatchSpecificationFactory' => array(
812
-                'EventEspresso\core\services\route_match\RouteMatchSpecificationDependencyResolver' => EE_Dependency_Map::load_from_cache,
813
-                'EventEspresso\core\services\loaders\Loader' => EE_Dependency_Map::load_from_cache,
814
-            ),
815
-            'EventEspresso\core\services\route_match\RouteMatchSpecificationManager' => array(
816
-                'EventEspresso\core\services\route_match\RouteMatchSpecificationCollection' => EE_Dependency_Map::load_from_cache,
817
-                'EventEspresso\core\services\route_match\RouteMatchSpecificationFactory' => EE_Dependency_Map::load_from_cache,
818
-            ),
819
-            'EventEspresso\core\libraries\rest_api\CalculatedModelFields' => array(
820
-                'EventEspresso\core\libraries\rest_api\calculations\CalculatedModelFieldsFactory' => EE_Dependency_Map::load_from_cache
821
-            ),
822
-            'EventEspresso\core\libraries\rest_api\calculations\CalculatedModelFieldsFactory' => array(
823
-                'EventEspresso\core\services\loaders\Loader'  => EE_Dependency_Map::load_from_cache,
824
-            ),
825
-            'EventEspresso\core\libraries\rest_api\controllers\model\Read' => array(
826
-                'EventEspresso\core\libraries\rest_api\CalculatedModelFields' => EE_Dependency_Map::load_from_cache
827
-            ),
828
-            'EventEspresso\core\libraries\rest_api\calculations\Datetime' => array(
829
-                'EEM_Datetime' => EE_Dependency_Map::load_from_cache,
830
-                'EEM_Registration' => EE_Dependency_Map::load_from_cache
831
-            ),
832
-            'EventEspresso\core\libraries\rest_api\calculations\Event' => array(
833
-                'EEM_Event' => EE_Dependency_Map::load_from_cache,
834
-                'EEM_Registration' => EE_Dependency_Map::load_from_cache
835
-            ),
836
-            'EventEspresso\core\libraries\rest_api\calculations\Registration' => array(
837
-                'EEM_Registration' => EE_Dependency_Map::load_from_cache
838
-            ),
839
-            'EventEspresso\core\services\session\SessionStartHandler' => array(
840
-                'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
841
-            ),
842
-            'EE_URL_Validation_Strategy' => array(
843
-                null,
844
-                null,
845
-                'EventEspresso\core\services\validators\URLValidator' => EE_Dependency_Map::load_from_cache
846
-            ),
847
-            'EventEspresso\admin_pages\general_settings\OrganizationSettings' => array(
848
-                'EE_Registry'                                             => EE_Dependency_Map::load_from_cache,
849
-                'EE_Organization_Config'                                  => EE_Dependency_Map::load_from_cache,
850
-                'EE_Core_Config'                                          => EE_Dependency_Map::load_from_cache,
851
-                'EE_Network_Core_Config'                                  => EE_Dependency_Map::load_from_cache,
852
-                'EventEspresso\core\services\address\CountrySubRegionDao' => EE_Dependency_Map::load_from_cache,
853
-            ),
854
-            'EventEspresso\core\services\address\CountrySubRegionDao' => array(
855
-                'EEM_State'                                            => EE_Dependency_Map::load_from_cache,
856
-                'EventEspresso\core\services\validators\JsonValidator' => EE_Dependency_Map::load_from_cache
857
-            ),
858
-            'EventEspresso\core\domain\services\admin\ajax\WordpressHeartbeat' => array(
859
-                'EventEspresso\core\services\loaders\Loader'  => EE_Dependency_Map::load_from_cache,
860
-                'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
861
-            ),
862
-            'EventEspresso\core\domain\services\admin\ajax\EventEditorHeartbeat' => array(
863
-                'EventEspresso\core\domain\Domain' => EE_Dependency_Map::load_from_cache,
864
-                'EE_Environment_Config'            => EE_Dependency_Map::load_from_cache,
865
-            ),
866
-            'EventEspresso\core\services\request\files\FilesDataHandler' => array(
867
-                'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
868
-            ),
869
-            'EventEspressoBatchRequest\BatchRequestProcessor'                              => [
870
-                'EventEspresso\core\services\loaders\Loader'  => EE_Dependency_Map::load_from_cache,
871
-            ],
872
-            'EventEspresso\core\domain\services\admin\registrations\list_table\QueryBuilder' => [
873
-                null,
874
-                'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
875
-                'EEM_Registration'  => EE_Dependency_Map::load_from_cache,
876
-            ],
877
-            'EventEspresso\core\domain\services\admin\registrations\list_table\page_header\AttendeeFilterHeader' => [
878
-                'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
879
-                'EEM_Attendee'  => EE_Dependency_Map::load_from_cache,
880
-            ],
881
-            'EventEspresso\core\domain\services\admin\registrations\list_table\page_header\DateFilterHeader' => [
882
-                'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
883
-                'EEM_Datetime'  => EE_Dependency_Map::load_from_cache,
884
-            ],
885
-            'EventEspresso\core\domain\services\admin\registrations\list_table\page_header\EventFilterHeader' => [
886
-                'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
887
-                'EEM_Event'  => EE_Dependency_Map::load_from_cache,
888
-            ],
889
-            'EventEspresso\core\domain\services\admin\registrations\list_table\page_header\TicketFilterHeader' => [
890
-                'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
891
-                'EEM_Ticket'  => EE_Dependency_Map::load_from_cache,
892
-            ],
893
-            'EventEspresso\core\domain\services\converters\RestApiSpoofer' => [
894
-                'WP_REST_Server' => EE_Dependency_Map::load_from_cache,
895
-                'EED_Core_Rest_Api' => EE_Dependency_Map::load_from_cache,
896
-                'EventEspresso\core\libraries\rest_api\controllers\model\Read' => EE_Dependency_Map::load_from_cache,
897
-                null
898
-            ],
899
-            'EventEspresso\core\domain\services\admin\events\default_settings\AdvancedEditorAdminFormSection'  => [
900
-                'EE_Admin_Config' => EE_Dependency_Map::load_from_cache
901
-            ],
902
-            'EventEspresso\core\domain\services\admin\events\editor\EventEditor' => [
903
-                'EE_Admin_Config' => EE_Dependency_Map::load_from_cache,
904
-                'EE_Event'        => EE_Dependency_Map::not_registered,
905
-                'EventEspresso\core\domain\entities\admin\GraphQLData\CurrentUser' =>
906
-                    EE_Dependency_Map::not_registered,
907
-                'EventEspresso\core\domain\services\admin\events\editor\EventEditorGraphQLData' =>
908
-                    EE_Dependency_Map::load_from_cache,
909
-                'EventEspresso\core\domain\entities\admin\GraphQLData\GeneralSettings' =>
910
-                    EE_Dependency_Map::load_from_cache,
911
-                'EventEspresso\core\services\assets\JedLocaleData' => EE_Dependency_Map::load_from_cache,
912
-            ],
913
-            'EventEspresso\core\services\graphql\GraphQLManager' => [
914
-                'EventEspresso\core\services\graphql\ConnectionsManager' => EE_Dependency_Map::load_from_cache,
915
-                'EventEspresso\core\services\graphql\DataLoaderManager'  => EE_Dependency_Map::load_from_cache,
916
-                'EventEspresso\core\services\graphql\EnumsManager'       => EE_Dependency_Map::load_from_cache,
917
-                'EventEspresso\core\services\graphql\InputsManager'      => EE_Dependency_Map::load_from_cache,
918
-                'EventEspresso\core\services\graphql\TypesManager'       => EE_Dependency_Map::load_from_cache,
919
-            ],
920
-            'EventEspresso\core\services\graphql\TypesManager' => [
921
-                'EventEspresso\core\services\graphql\types\TypeCollection' => EE_Dependency_Map::load_from_cache,
922
-            ],
923
-            'EventEspresso\core\services\graphql\InputsManager' => [
924
-                'EventEspresso\core\services\graphql\inputs\InputCollection' => EE_Dependency_Map::load_from_cache,
925
-            ],
926
-            'EventEspresso\core\services\graphql\EnumsManager' => [
927
-                'EventEspresso\core\services\graphql\enums\EnumCollection' => EE_Dependency_Map::load_from_cache,
928
-            ],
929
-            'EventEspresso\core\services\graphql\ConnectionsManager' => [
930
-                'EventEspresso\core\services\graphql\connections\ConnectionCollection' => EE_Dependency_Map::load_from_cache,
931
-            ],
932
-            'EventEspresso\core\domain\services\graphql\types\Datetime' => [
933
-                'EEM_Datetime' => EE_Dependency_Map::load_from_cache,
934
-            ],
935
-            'EventEspresso\core\domain\services\graphql\types\Attendee' => [
936
-                'EEM_Attendee' => EE_Dependency_Map::load_from_cache,
937
-            ],
938
-            'EventEspresso\core\domain\services\graphql\types\Event' => [
939
-                'EEM_Event' => EE_Dependency_Map::load_from_cache,
940
-            ],
941
-            'EventEspresso\core\domain\services\graphql\types\Ticket' => [
942
-                'EEM_Ticket' => EE_Dependency_Map::load_from_cache,
943
-            ],
944
-            'EventEspresso\core\domain\services\graphql\types\Price' => [
945
-                'EEM_Price' => EE_Dependency_Map::load_from_cache,
946
-            ],
947
-            'EventEspresso\core\domain\services\graphql\types\PriceType' => [
948
-                'EEM_Price_Type' => EE_Dependency_Map::load_from_cache,
949
-            ],
950
-            'EventEspresso\core\domain\services\graphql\types\Venue' => [
951
-                'EEM_Venue' => EE_Dependency_Map::load_from_cache,
952
-            ],
953
-            'EventEspresso\core\domain\services\graphql\types\State' => [
954
-                'EEM_State' => EE_Dependency_Map::load_from_cache,
955
-            ],
956
-            'EventEspresso\core\domain\services\graphql\types\Country' => [
957
-                'EEM_Country' => EE_Dependency_Map::load_from_cache,
958
-            ],
959
-            'EventEspresso\core\domain\services\graphql\connections\EventDatetimesConnection' => [
960
-                'EEM_Datetime' => EE_Dependency_Map::load_from_cache,
961
-            ],
962
-            'EventEspresso\core\domain\services\graphql\connections\RootQueryDatetimesConnection' => [
963
-                'EEM_Datetime' => EE_Dependency_Map::load_from_cache,
964
-            ],
965
-            'EventEspresso\core\domain\services\graphql\connections\RootQueryAttendeesConnection' => [
966
-                'EEM_Attendee' => EE_Dependency_Map::load_from_cache,
967
-            ],
968
-            'EventEspresso\core\domain\services\graphql\connections\DatetimeTicketsConnection' => [
969
-                'EEM_Ticket' => EE_Dependency_Map::load_from_cache,
970
-            ],
971
-            'EventEspresso\core\domain\services\graphql\connections\RootQueryTicketsConnection' => [
972
-                'EEM_Ticket' => EE_Dependency_Map::load_from_cache,
973
-            ],
974
-            'EventEspresso\core\domain\services\graphql\connections\TicketPricesConnection' => [
975
-                'EEM_Price' => EE_Dependency_Map::load_from_cache,
976
-            ],
977
-            'EventEspresso\core\domain\services\graphql\connections\RootQueryPricesConnection' => [
978
-                'EEM_Price' => EE_Dependency_Map::load_from_cache,
979
-            ],
980
-            'EventEspresso\core\domain\services\graphql\connections\RootQueryPriceTypesConnection' => [
981
-                'EEM_Price_Type' => EE_Dependency_Map::load_from_cache,
982
-            ],
983
-            'EventEspresso\core\domain\services\graphql\connections\TicketDatetimesConnection' => [
984
-                'EEM_Datetime' => EE_Dependency_Map::load_from_cache,
985
-            ],
986
-            'EventEspresso\core\domain\services\graphql\connections\EventVenuesConnection' => [
987
-                'EEM_Venue' => EE_Dependency_Map::load_from_cache,
988
-            ],
989
-            'EventEspresso\core\domain\services\admin\events\editor\EventEditorGraphQLData' => [
990
-                'EventEspresso\core\domain\entities\admin\GraphQLData\Datetimes' => EE_Dependency_Map::load_from_cache,
991
-                'EventEspresso\core\domain\entities\admin\GraphQLData\Prices' => EE_Dependency_Map::load_from_cache,
992
-                'EventEspresso\core\domain\entities\admin\GraphQLData\PriceTypes' => EE_Dependency_Map::load_from_cache,
993
-                'EventEspresso\core\domain\entities\admin\GraphQLData\Tickets' => EE_Dependency_Map::load_from_cache,
994
-                'EventEspresso\core\domain\services\admin\events\editor\NewEventDefaultEntities' => EE_Dependency_Map::load_from_cache,
995
-                'EventEspresso\core\domain\services\admin\events\editor\EventEntityRelations' => EE_Dependency_Map::load_from_cache,
996
-            ],
997
-            'EventEspresso\core\domain\services\admin\events\editor\EventEntityRelations' => [
998
-                'EEM_Datetime'   => EE_Dependency_Map::load_from_cache,
999
-                'EEM_Event'      => EE_Dependency_Map::load_from_cache,
1000
-                'EEM_Price'      => EE_Dependency_Map::load_from_cache,
1001
-                'EEM_Price_Type' => EE_Dependency_Map::load_from_cache,
1002
-                'EEM_Ticket'     => EE_Dependency_Map::load_from_cache,
1003
-            ],
1004
-            'EventEspresso\core\domain\services\admin\events\editor\NewEventDefaultEntities' => [
1005
-                'EEM_Datetime'                                                       => EE_Dependency_Map::load_from_cache,
1006
-                'EEM_Event'                                                          => EE_Dependency_Map::load_from_cache,
1007
-                'EEM_Price'                                                          => EE_Dependency_Map::load_from_cache,
1008
-                'EEM_Price_Type'                                                     => EE_Dependency_Map::load_from_cache,
1009
-                'EEM_Ticket'                                                         => EE_Dependency_Map::load_from_cache,
1010
-                'EventEspresso\core\domain\services\admin\entities\DefaultDatetimes' => EE_Dependency_Map::load_from_cache,
1011
-            ],
1012
-            'EventEspresso\core\domain\services\admin\entities\DefaultDatetimes' => [
1013
-                'EventEspresso\core\domain\services\admin\entities\DefaultTickets' => EE_Dependency_Map::load_from_cache,
1014
-                'EEM_Datetime'                                                     => EE_Dependency_Map::load_from_cache,
1015
-            ],
1016
-            'EventEspresso\core\domain\services\admin\entities\DefaultTickets' => [
1017
-                'EventEspresso\core\domain\services\admin\entities\DefaultPrices' => EE_Dependency_Map::load_from_cache,
1018
-                'EEM_Ticket'                                                      => EE_Dependency_Map::load_from_cache,
1019
-            ],
1020
-            'EventEspresso\core\domain\services\admin\entities\DefaultPrices' => [
1021
-                'EEM_Price' => EE_Dependency_Map::load_from_cache,
1022
-            ],
1023
-            'EventEspresso\core\services\graphql\DataLoaderManager' => [
1024
-                'EventEspresso\core\services\graphql\loaders\DataLoaderCollection' => EE_Dependency_Map::load_from_cache,
1025
-            ],
1026
-        );
1027
-    }
1028
-
1029
-
1030
-    /**
1031
-     * Registers how core classes are loaded.
1032
-     * This can either be done by simply providing the name of one of the EE_Registry loader methods such as:
1033
-     *        'EE_Request_Handler' => 'load_core'
1034
-     *        'EE_Messages_Queue'  => 'load_lib'
1035
-     *        'EEH_Debug_Tools'    => 'load_helper'
1036
-     * or, if greater control is required, by providing a custom closure. For example:
1037
-     *        'Some_Class' => function () {
1038
-     *            return new Some_Class();
1039
-     *        },
1040
-     * This is required for instantiating dependencies
1041
-     * where an interface has been type hinted in a class constructor. For example:
1042
-     *        'Required_Interface' => function () {
1043
-     *            return new A_Class_That_Implements_Required_Interface();
1044
-     *        },
1045
-     */
1046
-    protected function _register_core_class_loaders()
1047
-    {
1048
-        $this->_class_loaders = array(
1049
-            // load_core
1050
-            'EE_Dependency_Map'                            => function () {
1051
-                return $this;
1052
-            },
1053
-            'EE_Capabilities'                              => 'load_core',
1054
-            'EE_Encryption'                                => 'load_core',
1055
-            'EE_Front_Controller'                          => 'load_core',
1056
-            'EE_Module_Request_Router'                     => 'load_core',
1057
-            'EE_Registry'                                  => 'load_core',
1058
-            'EE_Request'                                   => function () {
1059
-                return $this->legacy_request;
1060
-            },
1061
-            'EventEspresso\core\services\request\Request'  => function () {
1062
-                return $this->request;
1063
-            },
1064
-            'EventEspresso\core\services\request\Response' => function () {
1065
-                return $this->response;
1066
-            },
1067
-            'EE_Base'                                      => 'load_core',
1068
-            'EE_Request_Handler'                           => 'load_core',
1069
-            'EE_Session'                                   => 'load_core',
1070
-            'EE_Cron_Tasks'                                => 'load_core',
1071
-            'EE_System'                                    => 'load_core',
1072
-            'EE_Maintenance_Mode'                          => 'load_core',
1073
-            'EE_Register_CPTs'                             => 'load_core',
1074
-            'EE_Admin'                                     => 'load_core',
1075
-            'EE_CPT_Strategy'                              => 'load_core',
1076
-            // load_class
1077
-            'EE_Registration_Processor'                    => 'load_class',
1078
-            // load_lib
1079
-            'EE_Message_Resource_Manager'                  => 'load_lib',
1080
-            'EE_Message_Type_Collection'                   => 'load_lib',
1081
-            'EE_Message_Type_Collection_Loader'            => 'load_lib',
1082
-            'EE_Messenger_Collection'                      => 'load_lib',
1083
-            'EE_Messenger_Collection_Loader'               => 'load_lib',
1084
-            'EE_Messages_Processor'                        => 'load_lib',
1085
-            'EE_Message_Repository'                        => 'load_lib',
1086
-            'EE_Messages_Queue'                            => 'load_lib',
1087
-            'EE_Messages_Data_Handler_Collection'          => 'load_lib',
1088
-            'EE_Message_Template_Group_Collection'         => 'load_lib',
1089
-            'EE_Payment_Method_Manager'                    => 'load_lib',
1090
-            'EE_DMS_Core_4_1_0'                            => 'load_dms',
1091
-            'EE_DMS_Core_4_2_0'                            => 'load_dms',
1092
-            'EE_DMS_Core_4_3_0'                            => 'load_dms',
1093
-            'EE_DMS_Core_4_5_0'                            => 'load_dms',
1094
-            'EE_DMS_Core_4_6_0'                            => 'load_dms',
1095
-            'EE_DMS_Core_4_7_0'                            => 'load_dms',
1096
-            'EE_DMS_Core_4_8_0'                            => 'load_dms',
1097
-            'EE_DMS_Core_4_9_0'                            => 'load_dms',
1098
-            'EE_DMS_Core_4_10_0'                            => 'load_dms',
1099
-            'EE_Messages_Generator'                        => static function () {
1100
-                return EE_Registry::instance()->load_lib(
1101
-                    'Messages_Generator',
1102
-                    array(),
1103
-                    false,
1104
-                    false
1105
-                );
1106
-            },
1107
-            'EE_Messages_Template_Defaults'                => static function ($arguments = array()) {
1108
-                return EE_Registry::instance()->load_lib(
1109
-                    'Messages_Template_Defaults',
1110
-                    $arguments,
1111
-                    false,
1112
-                    false
1113
-                );
1114
-            },
1115
-            // load_helper
1116
-            'EEH_Parse_Shortcodes'                         => static function () {
1117
-                if (EE_Registry::instance()->load_helper('Parse_Shortcodes')) {
1118
-                    return new EEH_Parse_Shortcodes();
1119
-                }
1120
-                return null;
1121
-            },
1122
-            'EE_Template_Config'                           => static function () {
1123
-                return EE_Config::instance()->template_settings;
1124
-            },
1125
-            'EE_Currency_Config'                           => static function () {
1126
-                return EE_Config::instance()->currency;
1127
-            },
1128
-            'EE_Registration_Config'                       => static function () {
1129
-                return EE_Config::instance()->registration;
1130
-            },
1131
-            'EE_Core_Config'                               => static function () {
1132
-                return EE_Config::instance()->core;
1133
-            },
1134
-            'EventEspresso\core\services\loaders\Loader'   => static function () {
1135
-                return LoaderFactory::getLoader();
1136
-            },
1137
-            'EE_Network_Config'                            => static function () {
1138
-                return EE_Network_Config::instance();
1139
-            },
1140
-            'EE_Config'                                    => static function () {
1141
-                return EE_Config::instance();
1142
-            },
1143
-            'EventEspresso\core\domain\Domain'             => static function () {
1144
-                return DomainFactory::getEventEspressoCoreDomain();
1145
-            },
1146
-            'EE_Admin_Config'                              => static function () {
1147
-                return EE_Config::instance()->admin;
1148
-            },
1149
-            'EE_Organization_Config'                       => static function () {
1150
-                return EE_Config::instance()->organization;
1151
-            },
1152
-            'EE_Network_Core_Config'                       => static function () {
1153
-                return EE_Network_Config::instance()->core;
1154
-            },
1155
-            'EE_Environment_Config'                        => static function () {
1156
-                return EE_Config::instance()->environment;
1157
-            },
1158
-            'EED_Core_Rest_Api'                            => static function () {
1159
-                return EED_Core_Rest_Api::instance();
1160
-            },
1161
-            'WP_REST_Server'                            => static function () {
1162
-                return rest_get_server();
1163
-            },
1164
-        );
1165
-    }
1166
-
1167
-
1168
-    /**
1169
-     * can be used for supplying alternate names for classes,
1170
-     * or for connecting interface names to instantiable classes
1171
-     *
1172
-     * @throws InvalidAliasException
1173
-     */
1174
-    protected function _register_core_aliases()
1175
-    {
1176
-        $aliases = array(
1177
-            'CommandBusInterface'                                                          => 'EventEspresso\core\services\commands\CommandBusInterface',
1178
-            'EventEspresso\core\services\commands\CommandBusInterface'                     => 'EventEspresso\core\services\commands\CommandBus',
1179
-            'CommandHandlerManagerInterface'                                               => 'EventEspresso\core\services\commands\CommandHandlerManagerInterface',
1180
-            'EventEspresso\core\services\commands\CommandHandlerManagerInterface'          => 'EventEspresso\core\services\commands\CommandHandlerManager',
1181
-            'CapChecker'                                                                   => 'EventEspresso\core\services\commands\middleware\CapChecker',
1182
-            'AddActionHook'                                                                => 'EventEspresso\core\services\commands\middleware\AddActionHook',
1183
-            'CapabilitiesChecker'                                                          => 'EventEspresso\core\domain\services\capabilities\CapabilitiesChecker',
1184
-            'CapabilitiesCheckerInterface'                                                 => 'EventEspresso\core\domain\services\capabilities\CapabilitiesCheckerInterface',
1185
-            'EventEspresso\core\domain\services\capabilities\CapabilitiesCheckerInterface' => 'EventEspresso\core\domain\services\capabilities\CapabilitiesChecker',
1186
-            'CreateRegistrationService'                                                    => 'EventEspresso\core\domain\services\registration\CreateRegistrationService',
1187
-            'CreateRegistrationCommandHandler'                                             => 'EventEspresso\core\services\commands\registration\CreateRegistrationCommand',
1188
-            'CopyRegistrationDetailsCommandHandler'                                        => 'EventEspresso\core\services\commands\registration\CopyRegistrationDetailsCommand',
1189
-            'CopyRegistrationPaymentsCommandHandler'                                       => 'EventEspresso\core\services\commands\registration\CopyRegistrationPaymentsCommand',
1190
-            'CancelRegistrationAndTicketLineItemCommandHandler'                            => 'EventEspresso\core\services\commands\registration\CancelRegistrationAndTicketLineItemCommandHandler',
1191
-            'UpdateRegistrationAndTransactionAfterChangeCommandHandler'                    => 'EventEspresso\core\services\commands\registration\UpdateRegistrationAndTransactionAfterChangeCommandHandler',
1192
-            'CreateTicketLineItemCommandHandler'                                           => 'EventEspresso\core\services\commands\ticket\CreateTicketLineItemCommand',
1193
-            'CreateTransactionCommandHandler'                                              => 'EventEspresso\core\services\commands\transaction\CreateTransactionCommandHandler',
1194
-            'CreateAttendeeCommandHandler'                                                 => 'EventEspresso\core\services\commands\attendee\CreateAttendeeCommandHandler',
1195
-            'TableManager'                                                                 => 'EventEspresso\core\services\database\TableManager',
1196
-            'TableAnalysis'                                                                => 'EventEspresso\core\services\database\TableAnalysis',
1197
-            'EspressoShortcode'                                                            => 'EventEspresso\core\services\shortcodes\EspressoShortcode',
1198
-            'ShortcodeInterface'                                                           => 'EventEspresso\core\services\shortcodes\ShortcodeInterface',
1199
-            'EventEspresso\core\services\shortcodes\ShortcodeInterface'                    => 'EventEspresso\core\services\shortcodes\EspressoShortcode',
1200
-            'EventEspresso\core\services\cache\CacheStorageInterface'                      => 'EventEspresso\core\services\cache\TransientCacheStorage',
1201
-            'LoaderInterface'                                                              => 'EventEspresso\core\services\loaders\LoaderInterface',
1202
-            'EventEspresso\core\services\loaders\LoaderInterface'                          => 'EventEspresso\core\services\loaders\Loader',
1203
-            'CommandFactoryInterface'                                                      => 'EventEspresso\core\services\commands\CommandFactoryInterface',
1204
-            'EventEspresso\core\services\commands\CommandFactoryInterface'                 => 'EventEspresso\core\services\commands\CommandFactory',
1205
-            'EmailValidatorInterface'                                                      => 'EventEspresso\core\domain\services\validation\email\EmailValidatorInterface',
1206
-            'EventEspresso\core\domain\services\validation\email\EmailValidatorInterface'  => 'EventEspresso\core\domain\services\validation\email\EmailValidationService',
1207
-            'NoticeConverterInterface'                                                     => 'EventEspresso\core\services\notices\NoticeConverterInterface',
1208
-            'EventEspresso\core\services\notices\NoticeConverterInterface'                 => 'EventEspresso\core\services\notices\ConvertNoticesToEeErrors',
1209
-            'NoticesContainerInterface'                                                    => 'EventEspresso\core\services\notices\NoticesContainerInterface',
1210
-            'EventEspresso\core\services\notices\NoticesContainerInterface'                => 'EventEspresso\core\services\notices\NoticesContainer',
1211
-            'EventEspresso\core\services\request\RequestInterface'                         => 'EventEspresso\core\services\request\Request',
1212
-            'EventEspresso\core\services\request\ResponseInterface'                        => 'EventEspresso\core\services\request\Response',
1213
-            'EventEspresso\core\domain\DomainInterface'                                    => 'EventEspresso\core\domain\Domain',
1214
-            'Registration_Processor'                                                       => 'EE_Registration_Processor',
1215
-        );
1216
-        foreach ($aliases as $alias => $fqn) {
1217
-            if (is_array($fqn)) {
1218
-                foreach ($fqn as $class => $for_class) {
1219
-                    $this->class_cache->addAlias($class, $alias, $for_class);
1220
-                }
1221
-                continue;
1222
-            }
1223
-            $this->class_cache->addAlias($fqn, $alias);
1224
-        }
1225
-        if (! (defined('DOING_AJAX') && DOING_AJAX) && is_admin()) {
1226
-            $this->class_cache->addAlias(
1227
-                'EventEspresso\core\services\notices\ConvertNoticesToAdminNotices',
1228
-                'EventEspresso\core\services\notices\NoticeConverterInterface'
1229
-            );
1230
-        }
1231
-    }
1232
-
1233
-
1234
-    /**
1235
-     * This is used to reset the internal map and class_loaders to their original default state at the beginning of the
1236
-     * request Primarily used by unit tests.
1237
-     */
1238
-    public function reset()
1239
-    {
1240
-        $this->_register_core_class_loaders();
1241
-        $this->_register_core_dependencies();
1242
-    }
1243
-
1244
-
1245
-    /**
1246
-     * PLZ NOTE: a better name for this method would be is_alias()
1247
-     * because it returns TRUE if the provided fully qualified name IS an alias
1248
-     * WHY?
1249
-     * Because if a class is type hinting for a concretion,
1250
-     * then why would we need to find another class to supply it?
1251
-     * ie: if a class asks for `Fully/Qualified/Namespace/SpecificClassName`,
1252
-     * then give it an instance of `Fully/Qualified/Namespace/SpecificClassName`.
1253
-     * Don't go looking for some substitute.
1254
-     * Whereas if a class is type hinting for an interface...
1255
-     * then we need to find an actual class to use.
1256
-     * So the interface IS the alias for some other FQN,
1257
-     * and we need to find out if `Fully/Qualified/Namespace/SomeInterface`
1258
-     * represents some other class.
1259
-     *
1260
-     * @deprecated 4.9.62.p
1261
-     * @param string $fqn
1262
-     * @param string $for_class
1263
-     * @return bool
1264
-     */
1265
-    public function has_alias($fqn = '', $for_class = '')
1266
-    {
1267
-        return $this->isAlias($fqn, $for_class);
1268
-    }
1269
-
1270
-
1271
-    /**
1272
-     * PLZ NOTE: a better name for this method would be get_fqn_for_alias()
1273
-     * because it returns a FQN for provided alias if one exists, otherwise returns the original $alias
1274
-     * functions recursively, so that multiple aliases can be used to drill down to a FQN
1275
-     *  for example:
1276
-     *      if the following two entries were added to the _aliases array:
1277
-     *          array(
1278
-     *              'interface_alias'           => 'some\namespace\interface'
1279
-     *              'some\namespace\interface'  => 'some\namespace\classname'
1280
-     *          )
1281
-     *      then one could use EE_Registry::instance()->create( 'interface_alias' )
1282
-     *      to load an instance of 'some\namespace\classname'
1283
-     *
1284
-     * @deprecated 4.9.62.p
1285
-     * @param string $alias
1286
-     * @param string $for_class
1287
-     * @return string
1288
-     */
1289
-    public function get_alias($alias = '', $for_class = '')
1290
-    {
1291
-        return $this->getFqnForAlias($alias, $for_class);
1292
-    }
24
+	/**
25
+	 * This means that the requested class dependency is not present in the dependency map
26
+	 */
27
+	const not_registered = 0;
28
+
29
+	/**
30
+	 * This instructs class loaders to ALWAYS return a newly instantiated object for the requested class.
31
+	 */
32
+	const load_new_object = 1;
33
+
34
+	/**
35
+	 * This instructs class loaders to return a previously instantiated and cached object for the requested class.
36
+	 * IF a previously instantiated object does not exist, a new one will be created and added to the cache.
37
+	 */
38
+	const load_from_cache = 2;
39
+
40
+	/**
41
+	 * When registering a dependency,
42
+	 * this indicates to keep any existing dependencies that already exist,
43
+	 * and simply discard any new dependencies declared in the incoming data
44
+	 */
45
+	const KEEP_EXISTING_DEPENDENCIES = 0;
46
+
47
+	/**
48
+	 * When registering a dependency,
49
+	 * this indicates to overwrite any existing dependencies that already exist using the incoming data
50
+	 */
51
+	const OVERWRITE_DEPENDENCIES = 1;
52
+
53
+
54
+	/**
55
+	 * @type EE_Dependency_Map $_instance
56
+	 */
57
+	protected static $_instance;
58
+
59
+	/**
60
+	 * @var ClassInterfaceCache $class_cache
61
+	 */
62
+	private $class_cache;
63
+
64
+	/**
65
+	 * @type RequestInterface $request
66
+	 */
67
+	protected $request;
68
+
69
+	/**
70
+	 * @type LegacyRequestInterface $legacy_request
71
+	 */
72
+	protected $legacy_request;
73
+
74
+	/**
75
+	 * @type ResponseInterface $response
76
+	 */
77
+	protected $response;
78
+
79
+	/**
80
+	 * @type LoaderInterface $loader
81
+	 */
82
+	protected $loader;
83
+
84
+	/**
85
+	 * @type array $_dependency_map
86
+	 */
87
+	protected $_dependency_map = array();
88
+
89
+	/**
90
+	 * @type array $_class_loaders
91
+	 */
92
+	protected $_class_loaders = array();
93
+
94
+
95
+	/**
96
+	 * EE_Dependency_Map constructor.
97
+	 *
98
+	 * @param ClassInterfaceCache $class_cache
99
+	 */
100
+	protected function __construct(ClassInterfaceCache $class_cache)
101
+	{
102
+		$this->class_cache = $class_cache;
103
+		do_action('EE_Dependency_Map____construct', $this);
104
+	}
105
+
106
+
107
+	/**
108
+	 * @return void
109
+	 * @throws EE_Error
110
+	 * @throws InvalidAliasException
111
+	 */
112
+	public function initialize()
113
+	{
114
+		$this->_register_core_dependencies();
115
+		$this->_register_core_class_loaders();
116
+		$this->_register_core_aliases();
117
+	}
118
+
119
+
120
+	/**
121
+	 * @singleton method used to instantiate class object
122
+	 * @param ClassInterfaceCache|null $class_cache
123
+	 * @return EE_Dependency_Map
124
+	 */
125
+	public static function instance(ClassInterfaceCache $class_cache = null)
126
+	{
127
+		// check if class object is instantiated, and instantiated properly
128
+		if (! self::$_instance instanceof EE_Dependency_Map
129
+			&& $class_cache instanceof ClassInterfaceCache
130
+		) {
131
+			self::$_instance = new EE_Dependency_Map($class_cache);
132
+		}
133
+		return self::$_instance;
134
+	}
135
+
136
+
137
+	/**
138
+	 * @param RequestInterface $request
139
+	 */
140
+	public function setRequest(RequestInterface $request)
141
+	{
142
+		$this->request = $request;
143
+	}
144
+
145
+
146
+	/**
147
+	 * @param LegacyRequestInterface $legacy_request
148
+	 */
149
+	public function setLegacyRequest(LegacyRequestInterface $legacy_request)
150
+	{
151
+		$this->legacy_request = $legacy_request;
152
+	}
153
+
154
+
155
+	/**
156
+	 * @param ResponseInterface $response
157
+	 */
158
+	public function setResponse(ResponseInterface $response)
159
+	{
160
+		$this->response = $response;
161
+	}
162
+
163
+
164
+	/**
165
+	 * @param LoaderInterface $loader
166
+	 */
167
+	public function setLoader(LoaderInterface $loader)
168
+	{
169
+		$this->loader = $loader;
170
+	}
171
+
172
+
173
+	/**
174
+	 * @param string $class
175
+	 * @param array  $dependencies
176
+	 * @param int    $overwrite
177
+	 * @return bool
178
+	 */
179
+	public static function register_dependencies(
180
+		$class,
181
+		array $dependencies,
182
+		$overwrite = EE_Dependency_Map::KEEP_EXISTING_DEPENDENCIES
183
+	) {
184
+		return self::$_instance->registerDependencies($class, $dependencies, $overwrite);
185
+	}
186
+
187
+
188
+	/**
189
+	 * Assigns an array of class names and corresponding load sources (new or cached)
190
+	 * to the class specified by the first parameter.
191
+	 * IMPORTANT !!!
192
+	 * The order of elements in the incoming $dependencies array MUST match
193
+	 * the order of the constructor parameters for the class in question.
194
+	 * This is especially important when overriding any existing dependencies that are registered.
195
+	 * the third parameter controls whether any duplicate dependencies are overwritten or not.
196
+	 *
197
+	 * @param string $class
198
+	 * @param array  $dependencies
199
+	 * @param int    $overwrite
200
+	 * @return bool
201
+	 */
202
+	public function registerDependencies(
203
+		$class,
204
+		array $dependencies,
205
+		$overwrite = EE_Dependency_Map::KEEP_EXISTING_DEPENDENCIES
206
+	) {
207
+		$class = trim($class, '\\');
208
+		$registered = false;
209
+		if (empty(self::$_instance->_dependency_map[ $class ])) {
210
+			self::$_instance->_dependency_map[ $class ] = array();
211
+		}
212
+		// we need to make sure that any aliases used when registering a dependency
213
+		// get resolved to the correct class name
214
+		foreach ($dependencies as $dependency => $load_source) {
215
+			$alias = self::$_instance->getFqnForAlias($dependency);
216
+			if ($overwrite === EE_Dependency_Map::OVERWRITE_DEPENDENCIES
217
+				|| ! isset(self::$_instance->_dependency_map[ $class ][ $alias ])
218
+			) {
219
+				unset($dependencies[ $dependency ]);
220
+				$dependencies[ $alias ] = $load_source;
221
+				$registered = true;
222
+			}
223
+		}
224
+		// now add our two lists of dependencies together.
225
+		// using Union (+=) favours the arrays in precedence from left to right,
226
+		// so $dependencies is NOT overwritten because it is listed first
227
+		// ie: with A = B + C, entries in B take precedence over duplicate entries in C
228
+		// Union is way faster than array_merge() but should be used with caution...
229
+		// especially with numerically indexed arrays
230
+		$dependencies += self::$_instance->_dependency_map[ $class ];
231
+		// now we need to ensure that the resulting dependencies
232
+		// array only has the entries that are required for the class
233
+		// so first count how many dependencies were originally registered for the class
234
+		$dependency_count = count(self::$_instance->_dependency_map[ $class ]);
235
+		// if that count is non-zero (meaning dependencies were already registered)
236
+		self::$_instance->_dependency_map[ $class ] = $dependency_count
237
+			// then truncate the  final array to match that count
238
+			? array_slice($dependencies, 0, $dependency_count)
239
+			// otherwise just take the incoming array because nothing previously existed
240
+			: $dependencies;
241
+		return $registered;
242
+	}
243
+
244
+
245
+	/**
246
+	 * @param string $class_name
247
+	 * @param string $loader
248
+	 * @return bool
249
+	 * @throws DomainException
250
+	 */
251
+	public static function register_class_loader($class_name, $loader = 'load_core')
252
+	{
253
+		if (! $loader instanceof Closure && strpos($class_name, '\\') !== false) {
254
+			throw new DomainException(
255
+				esc_html__('Don\'t use class loaders for FQCNs.', 'event_espresso')
256
+			);
257
+		}
258
+		// check that loader is callable or method starts with "load_" and exists in EE_Registry
259
+		if (! is_callable($loader)
260
+			&& (
261
+				strpos($loader, 'load_') !== 0
262
+				|| ! method_exists('EE_Registry', $loader)
263
+			)
264
+		) {
265
+			throw new DomainException(
266
+				sprintf(
267
+					esc_html__(
268
+						'"%1$s" is not a valid loader method on EE_Registry.',
269
+						'event_espresso'
270
+					),
271
+					$loader
272
+				)
273
+			);
274
+		}
275
+		$class_name = self::$_instance->getFqnForAlias($class_name);
276
+		if (! isset(self::$_instance->_class_loaders[ $class_name ])) {
277
+			self::$_instance->_class_loaders[ $class_name ] = $loader;
278
+			return true;
279
+		}
280
+		return false;
281
+	}
282
+
283
+
284
+	/**
285
+	 * @return array
286
+	 */
287
+	public function dependency_map()
288
+	{
289
+		return $this->_dependency_map;
290
+	}
291
+
292
+
293
+	/**
294
+	 * returns TRUE if dependency map contains a listing for the provided class name
295
+	 *
296
+	 * @param string $class_name
297
+	 * @return boolean
298
+	 */
299
+	public function has($class_name = '')
300
+	{
301
+		// all legacy models have the same dependencies
302
+		if (strpos($class_name, 'EEM_') === 0) {
303
+			$class_name = 'LEGACY_MODELS';
304
+		}
305
+		return isset($this->_dependency_map[ $class_name ]) ? true : false;
306
+	}
307
+
308
+
309
+	/**
310
+	 * returns TRUE if dependency map contains a listing for the provided class name AND dependency
311
+	 *
312
+	 * @param string $class_name
313
+	 * @param string $dependency
314
+	 * @return bool
315
+	 */
316
+	public function has_dependency_for_class($class_name = '', $dependency = '')
317
+	{
318
+		// all legacy models have the same dependencies
319
+		if (strpos($class_name, 'EEM_') === 0) {
320
+			$class_name = 'LEGACY_MODELS';
321
+		}
322
+		$dependency = $this->getFqnForAlias($dependency, $class_name);
323
+		return isset($this->_dependency_map[ $class_name ][ $dependency ])
324
+			? true
325
+			: false;
326
+	}
327
+
328
+
329
+	/**
330
+	 * returns loading strategy for whether a previously cached dependency should be loaded or a new instance returned
331
+	 *
332
+	 * @param string $class_name
333
+	 * @param string $dependency
334
+	 * @return int
335
+	 */
336
+	public function loading_strategy_for_class_dependency($class_name = '', $dependency = '')
337
+	{
338
+		// all legacy models have the same dependencies
339
+		if (strpos($class_name, 'EEM_') === 0) {
340
+			$class_name = 'LEGACY_MODELS';
341
+		}
342
+		$dependency = $this->getFqnForAlias($dependency);
343
+		return $this->has_dependency_for_class($class_name, $dependency)
344
+			? $this->_dependency_map[ $class_name ][ $dependency ]
345
+			: EE_Dependency_Map::not_registered;
346
+	}
347
+
348
+
349
+	/**
350
+	 * @param string $class_name
351
+	 * @return string | Closure
352
+	 */
353
+	public function class_loader($class_name)
354
+	{
355
+		// all legacy models use load_model()
356
+		if (strpos($class_name, 'EEM_') === 0) {
357
+			return 'load_model';
358
+		}
359
+		// EE_CPT_*_Strategy classes like EE_CPT_Event_Strategy, EE_CPT_Venue_Strategy, etc
360
+		// perform strpos() first to avoid loading regex every time we load a class
361
+		if (strpos($class_name, 'EE_CPT_') === 0
362
+			&& preg_match('/^EE_CPT_([a-zA-Z]+)_Strategy$/', $class_name)
363
+		) {
364
+			return 'load_core';
365
+		}
366
+		$class_name = $this->getFqnForAlias($class_name);
367
+		return isset($this->_class_loaders[ $class_name ]) ? $this->_class_loaders[ $class_name ] : '';
368
+	}
369
+
370
+
371
+	/**
372
+	 * @return array
373
+	 */
374
+	public function class_loaders()
375
+	{
376
+		return $this->_class_loaders;
377
+	}
378
+
379
+
380
+	/**
381
+	 * adds an alias for a classname
382
+	 *
383
+	 * @param string $fqcn      the class name that should be used (concrete class to replace interface)
384
+	 * @param string $alias     the class name that would be type hinted for (abstract parent or interface)
385
+	 * @param string $for_class the class that has the dependency (is type hinting for the interface)
386
+	 * @throws InvalidAliasException
387
+	 */
388
+	public function add_alias($fqcn, $alias, $for_class = '')
389
+	{
390
+		$this->class_cache->addAlias($fqcn, $alias, $for_class);
391
+	}
392
+
393
+
394
+	/**
395
+	 * Returns TRUE if the provided fully qualified name IS an alias
396
+	 * WHY?
397
+	 * Because if a class is type hinting for a concretion,
398
+	 * then why would we need to find another class to supply it?
399
+	 * ie: if a class asks for `Fully/Qualified/Namespace/SpecificClassName`,
400
+	 * then give it an instance of `Fully/Qualified/Namespace/SpecificClassName`.
401
+	 * Don't go looking for some substitute.
402
+	 * Whereas if a class is type hinting for an interface...
403
+	 * then we need to find an actual class to use.
404
+	 * So the interface IS the alias for some other FQN,
405
+	 * and we need to find out if `Fully/Qualified/Namespace/SomeInterface`
406
+	 * represents some other class.
407
+	 *
408
+	 * @param string $fqn
409
+	 * @param string $for_class
410
+	 * @return bool
411
+	 */
412
+	public function isAlias($fqn = '', $for_class = '')
413
+	{
414
+		return $this->class_cache->isAlias($fqn, $for_class);
415
+	}
416
+
417
+
418
+	/**
419
+	 * Returns a FQN for provided alias if one exists, otherwise returns the original $alias
420
+	 * functions recursively, so that multiple aliases can be used to drill down to a FQN
421
+	 *  for example:
422
+	 *      if the following two entries were added to the _aliases array:
423
+	 *          array(
424
+	 *              'interface_alias'           => 'some\namespace\interface'
425
+	 *              'some\namespace\interface'  => 'some\namespace\classname'
426
+	 *          )
427
+	 *      then one could use EE_Registry::instance()->create( 'interface_alias' )
428
+	 *      to load an instance of 'some\namespace\classname'
429
+	 *
430
+	 * @param string $alias
431
+	 * @param string $for_class
432
+	 * @return string
433
+	 */
434
+	public function getFqnForAlias($alias = '', $for_class = '')
435
+	{
436
+		return (string) $this->class_cache->getFqnForAlias($alias, $for_class);
437
+	}
438
+
439
+
440
+	/**
441
+	 * Registers the core dependencies and whether a previously instantiated object should be loaded from the cache,
442
+	 * if one exists, or whether a new object should be generated every time the requested class is loaded.
443
+	 * This is done by using the following class constants:
444
+	 *        EE_Dependency_Map::load_from_cache - loads previously instantiated object
445
+	 *        EE_Dependency_Map::load_new_object - generates a new object every time
446
+	 */
447
+	protected function _register_core_dependencies()
448
+	{
449
+		$this->_dependency_map = array(
450
+			'EE_Request_Handler'                                                                                          => array(
451
+				'EE_Request' => EE_Dependency_Map::load_from_cache,
452
+			),
453
+			'EE_System'                                                                                                   => array(
454
+				'EE_Registry'                                 => EE_Dependency_Map::load_from_cache,
455
+				'EventEspresso\core\services\loaders\Loader'  => EE_Dependency_Map::load_from_cache,
456
+				'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
457
+				'EE_Maintenance_Mode'                         => EE_Dependency_Map::load_from_cache,
458
+			),
459
+			'EE_Session'                                                                                                  => array(
460
+				'EventEspresso\core\services\cache\TransientCacheStorage'  => EE_Dependency_Map::load_from_cache,
461
+				'EventEspresso\core\domain\values\session\SessionLifespan' => EE_Dependency_Map::load_from_cache,
462
+				'EventEspresso\core\services\request\Request'              => EE_Dependency_Map::load_from_cache,
463
+				'EventEspresso\core\services\session\SessionStartHandler'  => EE_Dependency_Map::load_from_cache,
464
+				'EE_Encryption'                                            => EE_Dependency_Map::load_from_cache,
465
+			),
466
+			'EE_Cart'                                                                                                     => array(
467
+				'EE_Session' => EE_Dependency_Map::load_from_cache,
468
+			),
469
+			'EE_Front_Controller'                                                                                         => array(
470
+				'EE_Registry'              => EE_Dependency_Map::load_from_cache,
471
+				'EE_Request_Handler'       => EE_Dependency_Map::load_from_cache,
472
+				'EE_Module_Request_Router' => EE_Dependency_Map::load_from_cache,
473
+			),
474
+			'EE_Messenger_Collection_Loader'                                                                              => array(
475
+				'EE_Messenger_Collection' => EE_Dependency_Map::load_new_object,
476
+			),
477
+			'EE_Message_Type_Collection_Loader'                                                                           => array(
478
+				'EE_Message_Type_Collection' => EE_Dependency_Map::load_new_object,
479
+			),
480
+			'EE_Message_Resource_Manager'                                                                                 => array(
481
+				'EE_Messenger_Collection_Loader'    => EE_Dependency_Map::load_new_object,
482
+				'EE_Message_Type_Collection_Loader' => EE_Dependency_Map::load_new_object,
483
+				'EEM_Message_Template_Group'        => EE_Dependency_Map::load_from_cache,
484
+			),
485
+			'EE_Message_Factory'                                                                                          => array(
486
+				'EE_Message_Resource_Manager' => EE_Dependency_Map::load_from_cache,
487
+			),
488
+			'EE_messages'                                                                                                 => array(
489
+				'EE_Message_Resource_Manager' => EE_Dependency_Map::load_from_cache,
490
+			),
491
+			'EE_Messages_Generator'                                                                                       => array(
492
+				'EE_Messages_Queue'                    => EE_Dependency_Map::load_new_object,
493
+				'EE_Messages_Data_Handler_Collection'  => EE_Dependency_Map::load_new_object,
494
+				'EE_Message_Template_Group_Collection' => EE_Dependency_Map::load_new_object,
495
+				'EEH_Parse_Shortcodes'                 => EE_Dependency_Map::load_from_cache,
496
+			),
497
+			'EE_Messages_Processor'                                                                                       => array(
498
+				'EE_Message_Resource_Manager' => EE_Dependency_Map::load_from_cache,
499
+			),
500
+			'EE_Messages_Queue'                                                                                           => array(
501
+				'EE_Message_Repository' => EE_Dependency_Map::load_new_object,
502
+			),
503
+			'EE_Messages_Template_Defaults'                                                                               => array(
504
+				'EEM_Message_Template_Group' => EE_Dependency_Map::load_from_cache,
505
+				'EEM_Message_Template'       => EE_Dependency_Map::load_from_cache,
506
+			),
507
+			'EE_Message_To_Generate_From_Request'                                                                         => array(
508
+				'EE_Message_Resource_Manager' => EE_Dependency_Map::load_from_cache,
509
+				'EE_Request_Handler'          => EE_Dependency_Map::load_from_cache,
510
+			),
511
+			'EventEspresso\core\services\commands\CommandBus'                                                             => array(
512
+				'EventEspresso\core\services\commands\CommandHandlerManager' => EE_Dependency_Map::load_from_cache,
513
+			),
514
+			'EventEspresso\services\commands\CommandHandler'                                                              => array(
515
+				'EE_Registry'         => EE_Dependency_Map::load_from_cache,
516
+				'CommandBusInterface' => EE_Dependency_Map::load_from_cache,
517
+			),
518
+			'EventEspresso\core\services\commands\CommandHandlerManager'                                                  => array(
519
+				'EventEspresso\core\services\loaders\Loader' => EE_Dependency_Map::load_from_cache,
520
+			),
521
+			'EventEspresso\core\services\commands\CompositeCommandHandler'                                                => array(
522
+				'EventEspresso\core\services\commands\CommandBus'     => EE_Dependency_Map::load_from_cache,
523
+				'EventEspresso\core\services\commands\CommandFactory' => EE_Dependency_Map::load_from_cache,
524
+			),
525
+			'EventEspresso\core\services\commands\CommandFactory'                                                         => array(
526
+				'EventEspresso\core\services\loaders\Loader' => EE_Dependency_Map::load_from_cache,
527
+			),
528
+			'EventEspresso\core\services\commands\middleware\CapChecker'                                                  => array(
529
+				'EventEspresso\core\domain\services\capabilities\CapabilitiesChecker' => EE_Dependency_Map::load_from_cache,
530
+			),
531
+			'EventEspresso\core\domain\services\capabilities\CapabilitiesChecker'                                         => array(
532
+				'EE_Capabilities' => EE_Dependency_Map::load_from_cache,
533
+			),
534
+			'EventEspresso\core\domain\services\capabilities\RegistrationsCapChecker'                                     => array(
535
+				'EE_Capabilities' => EE_Dependency_Map::load_from_cache,
536
+			),
537
+			'EventEspresso\core\services\commands\registration\CreateRegistrationCommandHandler'                          => array(
538
+				'EventEspresso\core\domain\services\registration\CreateRegistrationService' => EE_Dependency_Map::load_from_cache,
539
+			),
540
+			'EventEspresso\core\services\commands\registration\CopyRegistrationDetailsCommandHandler'                     => array(
541
+				'EventEspresso\core\domain\services\registration\CopyRegistrationService' => EE_Dependency_Map::load_from_cache,
542
+			),
543
+			'EventEspresso\core\services\commands\registration\CopyRegistrationPaymentsCommandHandler'                    => array(
544
+				'EventEspresso\core\domain\services\registration\CopyRegistrationService' => EE_Dependency_Map::load_from_cache,
545
+			),
546
+			'EventEspresso\core\services\commands\registration\CancelRegistrationAndTicketLineItemCommandHandler'         => array(
547
+				'EventEspresso\core\domain\services\registration\CancelTicketLineItemService' => EE_Dependency_Map::load_from_cache,
548
+			),
549
+			'EventEspresso\core\services\commands\registration\UpdateRegistrationAndTransactionAfterChangeCommandHandler' => array(
550
+				'EventEspresso\core\domain\services\registration\UpdateRegistrationService' => EE_Dependency_Map::load_from_cache,
551
+			),
552
+			'EventEspresso\core\services\commands\ticket\CreateTicketLineItemCommandHandler'                              => array(
553
+				'EventEspresso\core\domain\services\ticket\CreateTicketLineItemService' => EE_Dependency_Map::load_from_cache,
554
+			),
555
+			'EventEspresso\core\services\commands\ticket\CancelTicketLineItemCommandHandler'                              => array(
556
+				'EventEspresso\core\domain\services\ticket\CancelTicketLineItemService' => EE_Dependency_Map::load_from_cache,
557
+			),
558
+			'EventEspresso\core\domain\services\registration\CancelRegistrationService'                                   => array(
559
+				'EventEspresso\core\domain\services\ticket\CancelTicketLineItemService' => EE_Dependency_Map::load_from_cache,
560
+			),
561
+			'EventEspresso\core\services\commands\attendee\CreateAttendeeCommandHandler'                                  => array(
562
+				'EEM_Attendee' => EE_Dependency_Map::load_from_cache,
563
+			),
564
+			'EventEspresso\core\services\database\TableManager'                                                           => array(
565
+				'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
566
+			),
567
+			'EE_Data_Migration_Class_Base'                                                                                => array(
568
+				'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
569
+				'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
570
+			),
571
+			'EE_DMS_Core_4_1_0'                                                                                           => array(
572
+				'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
573
+				'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
574
+			),
575
+			'EE_DMS_Core_4_2_0'                                                                                           => array(
576
+				'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
577
+				'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
578
+			),
579
+			'EE_DMS_Core_4_3_0'                                                                                           => array(
580
+				'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
581
+				'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
582
+			),
583
+			'EE_DMS_Core_4_4_0'                                                                                           => array(
584
+				'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
585
+				'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
586
+			),
587
+			'EE_DMS_Core_4_5_0'                                                                                           => array(
588
+				'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
589
+				'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
590
+			),
591
+			'EE_DMS_Core_4_6_0'                                                                                           => array(
592
+				'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
593
+				'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
594
+			),
595
+			'EE_DMS_Core_4_7_0'                                                                                           => array(
596
+				'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
597
+				'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
598
+			),
599
+			'EE_DMS_Core_4_8_0'                                                                                           => array(
600
+				'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
601
+				'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
602
+			),
603
+			'EE_DMS_Core_4_9_0' => array(
604
+				'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
605
+				'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
606
+			),
607
+			'EE_DMS_Core_4_10_0' => array(
608
+				'EventEspresso\core\services\database\TableAnalysis' => EE_Dependency_Map::load_from_cache,
609
+				'EventEspresso\core\services\database\TableManager'  => EE_Dependency_Map::load_from_cache,
610
+				'EE_DMS_Core_4_9_0'                                  => EE_Dependency_Map::load_from_cache,
611
+			),
612
+			'EventEspresso\core\services\assets\I18nRegistry'                                                             => array(
613
+				'EventEspresso\core\domain\Domain' => EE_Dependency_Map::load_from_cache,
614
+				'EventEspresso\core\services\assets\JedLocaleData' => EE_Dependency_Map::load_from_cache,
615
+				array(),
616
+			),
617
+			'EventEspresso\core\services\assets\Registry'                                                                 => array(
618
+				'EventEspresso\core\services\assets\AssetCollection' => EE_Dependency_Map::load_from_cache,
619
+				'EventEspresso\core\services\assets\I18nRegistry'    => EE_Dependency_Map::load_from_cache,
620
+			),
621
+			'EventEspresso\core\domain\entities\shortcodes\EspressoCancelled'                                             => array(
622
+				'EventEspresso\core\services\cache\PostRelatedCacheManager' => EE_Dependency_Map::load_from_cache,
623
+			),
624
+			'EventEspresso\core\domain\entities\shortcodes\EspressoCheckout'                                              => array(
625
+				'EventEspresso\core\services\cache\PostRelatedCacheManager' => EE_Dependency_Map::load_from_cache,
626
+			),
627
+			'EventEspresso\core\domain\entities\shortcodes\EspressoEventAttendees'                                        => array(
628
+				'EventEspresso\core\services\cache\PostRelatedCacheManager' => EE_Dependency_Map::load_from_cache,
629
+			),
630
+			'EventEspresso\core\domain\entities\shortcodes\EspressoEvents'                                                => array(
631
+				'EventEspresso\core\services\cache\PostRelatedCacheManager' => EE_Dependency_Map::load_from_cache,
632
+			),
633
+			'EventEspresso\core\domain\entities\shortcodes\EspressoThankYou'                                              => array(
634
+				'EventEspresso\core\services\cache\PostRelatedCacheManager' => EE_Dependency_Map::load_from_cache,
635
+			),
636
+			'EventEspresso\core\domain\entities\shortcodes\EspressoTicketSelector'                                        => array(
637
+				'EventEspresso\core\services\cache\PostRelatedCacheManager' => EE_Dependency_Map::load_from_cache,
638
+			),
639
+			'EventEspresso\core\domain\entities\shortcodes\EspressoTxnPage'                                               => array(
640
+				'EventEspresso\core\services\cache\PostRelatedCacheManager' => EE_Dependency_Map::load_from_cache,
641
+			),
642
+			'EventEspresso\core\services\cache\BasicCacheManager'                                                         => array(
643
+				'EventEspresso\core\services\cache\TransientCacheStorage' => EE_Dependency_Map::load_from_cache,
644
+			),
645
+			'EventEspresso\core\services\cache\PostRelatedCacheManager'                                                   => array(
646
+				'EventEspresso\core\services\cache\TransientCacheStorage' => EE_Dependency_Map::load_from_cache,
647
+			),
648
+			'EventEspresso\core\domain\services\validation\email\EmailValidationService'                                  => array(
649
+				'EE_Registration_Config'                     => EE_Dependency_Map::load_from_cache,
650
+				'EventEspresso\core\services\loaders\Loader' => EE_Dependency_Map::load_from_cache,
651
+			),
652
+			'EventEspresso\core\domain\values\EmailAddress'                                                               => array(
653
+				null,
654
+				'EventEspresso\core\domain\services\validation\email\EmailValidationService' => EE_Dependency_Map::load_from_cache,
655
+			),
656
+			'EventEspresso\core\services\orm\ModelFieldFactory'                                                           => array(
657
+				'EventEspresso\core\services\loaders\Loader' => EE_Dependency_Map::load_from_cache,
658
+			),
659
+			'LEGACY_MODELS'                                                                                               => array(
660
+				null,
661
+				'EventEspresso\core\services\database\ModelFieldFactory' => EE_Dependency_Map::load_from_cache,
662
+			),
663
+			'EE_Module_Request_Router'                                                                                    => array(
664
+				'EE_Request' => EE_Dependency_Map::load_from_cache,
665
+			),
666
+			'EE_Registration_Processor'                                                                                   => array(
667
+				'EE_Request' => EE_Dependency_Map::load_from_cache,
668
+			),
669
+			'EventEspresso\core\services\notifications\PersistentAdminNoticeManager'                                      => array(
670
+				null,
671
+				'EventEspresso\core\domain\services\capabilities\CapabilitiesChecker' => EE_Dependency_Map::load_from_cache,
672
+				'EventEspresso\core\services\request\Request'                         => EE_Dependency_Map::load_from_cache,
673
+			),
674
+			'EventEspresso\core\services\licensing\LicenseService'                                                        => array(
675
+				'EventEspresso\core\domain\services\pue\Stats'  => EE_Dependency_Map::load_from_cache,
676
+				'EventEspresso\core\domain\services\pue\Config' => EE_Dependency_Map::load_from_cache,
677
+			),
678
+			'EE_Admin_Transactions_List_Table'                                                                            => array(
679
+				null,
680
+				'EventEspresso\core\domain\values\session\SessionLifespan' => EE_Dependency_Map::load_from_cache,
681
+			),
682
+			'EventEspresso\core\domain\services\pue\Stats'                                                                => array(
683
+				'EventEspresso\core\domain\services\pue\Config'        => EE_Dependency_Map::load_from_cache,
684
+				'EE_Maintenance_Mode'                                  => EE_Dependency_Map::load_from_cache,
685
+				'EventEspresso\core\domain\services\pue\StatsGatherer' => EE_Dependency_Map::load_from_cache,
686
+			),
687
+			'EventEspresso\core\domain\services\pue\Config'                                                               => array(
688
+				'EE_Network_Config' => EE_Dependency_Map::load_from_cache,
689
+				'EE_Config'         => EE_Dependency_Map::load_from_cache,
690
+			),
691
+			'EventEspresso\core\domain\services\pue\StatsGatherer'                                                        => array(
692
+				'EEM_Payment_Method' => EE_Dependency_Map::load_from_cache,
693
+				'EEM_Event'          => EE_Dependency_Map::load_from_cache,
694
+				'EEM_Datetime'       => EE_Dependency_Map::load_from_cache,
695
+				'EEM_Ticket'         => EE_Dependency_Map::load_from_cache,
696
+				'EEM_Registration'   => EE_Dependency_Map::load_from_cache,
697
+				'EEM_Transaction'    => EE_Dependency_Map::load_from_cache,
698
+				'EE_Config'          => EE_Dependency_Map::load_from_cache,
699
+			),
700
+			'EventEspresso\core\domain\services\admin\ExitModal'                                                          => array(
701
+				'EventEspresso\core\services\assets\Registry' => EE_Dependency_Map::load_from_cache,
702
+			),
703
+			'EventEspresso\core\domain\services\admin\PluginUpsells'                                                      => array(
704
+				'EventEspresso\core\domain\Domain' => EE_Dependency_Map::load_from_cache,
705
+			),
706
+			'EventEspresso\caffeinated\modules\recaptcha_invisible\InvisibleRecaptcha'                                    => array(
707
+				'EE_Registration_Config' => EE_Dependency_Map::load_from_cache,
708
+				'EE_Session'             => EE_Dependency_Map::load_from_cache,
709
+			),
710
+			'EventEspresso\caffeinated\modules\recaptcha_invisible\RecaptchaAdminSettings'                                => array(
711
+				'EE_Registration_Config' => EE_Dependency_Map::load_from_cache,
712
+			),
713
+			'EventEspresso\modules\ticket_selector\ProcessTicketSelector'                                                 => array(
714
+				'EE_Core_Config'                                                          => EE_Dependency_Map::load_from_cache,
715
+				'EventEspresso\core\services\request\Request'                             => EE_Dependency_Map::load_from_cache,
716
+				'EE_Session'                                                              => EE_Dependency_Map::load_from_cache,
717
+				'EEM_Ticket'                                                              => EE_Dependency_Map::load_from_cache,
718
+				'EventEspresso\modules\ticket_selector\TicketDatetimeAvailabilityTracker' => EE_Dependency_Map::load_from_cache,
719
+			),
720
+			'EventEspresso\modules\ticket_selector\TicketDatetimeAvailabilityTracker'                                     => array(
721
+				'EEM_Datetime' => EE_Dependency_Map::load_from_cache,
722
+			),
723
+			'EventEspresso\core\domain\entities\custom_post_types\CustomPostTypeDefinitions'                              => array(
724
+				'EE_Core_Config'                             => EE_Dependency_Map::load_from_cache,
725
+				'EventEspresso\core\services\loaders\Loader' => EE_Dependency_Map::load_from_cache,
726
+			),
727
+			'EventEspresso\core\domain\services\custom_post_types\RegisterCustomPostTypes'                                => array(
728
+				'EventEspresso\core\domain\entities\custom_post_types\CustomPostTypeDefinitions' => EE_Dependency_Map::load_from_cache,
729
+			),
730
+			'EventEspresso\core\domain\services\custom_post_types\RegisterCustomTaxonomies'                               => array(
731
+				'EventEspresso\core\domain\entities\custom_post_types\CustomTaxonomyDefinitions' => EE_Dependency_Map::load_from_cache,
732
+			),
733
+			'EE_CPT_Strategy'                                                                                             => array(
734
+				'EventEspresso\core\domain\entities\custom_post_types\CustomPostTypeDefinitions' => EE_Dependency_Map::load_from_cache,
735
+				'EventEspresso\core\domain\entities\custom_post_types\CustomTaxonomyDefinitions' => EE_Dependency_Map::load_from_cache,
736
+			),
737
+			'EventEspresso\core\services\loaders\ObjectIdentifier'                                                        => array(
738
+				'EventEspresso\core\services\loaders\ClassInterfaceCache' => EE_Dependency_Map::load_from_cache,
739
+			),
740
+			'EventEspresso\core\domain\services\assets\CoreAssetManager'                                                  => array(
741
+				'EventEspresso\core\services\assets\AssetCollection' => EE_Dependency_Map::load_from_cache,
742
+				'EE_Currency_Config'                                 => EE_Dependency_Map::load_from_cache,
743
+				'EE_Template_Config'                                 => EE_Dependency_Map::load_from_cache,
744
+				'EventEspresso\core\domain\Domain'                   => EE_Dependency_Map::load_from_cache,
745
+				'EventEspresso\core\services\assets\Registry'        => EE_Dependency_Map::load_from_cache,
746
+			),
747
+			'EventEspresso\core\domain\services\admin\privacy\policy\PrivacyPolicy' => array(
748
+				'EEM_Payment_Method' => EE_Dependency_Map::load_from_cache,
749
+				'EventEspresso\core\domain\values\session\SessionLifespan' => EE_Dependency_Map::load_from_cache
750
+			),
751
+			'EventEspresso\core\domain\services\admin\privacy\export\ExportAttendee' => array(
752
+				'EEM_Attendee' => EE_Dependency_Map::load_from_cache,
753
+			),
754
+			'EventEspresso\core\domain\services\admin\privacy\export\ExportAttendeeBillingData' => array(
755
+				'EEM_Attendee' => EE_Dependency_Map::load_from_cache,
756
+				'EEM_Payment_Method' => EE_Dependency_Map::load_from_cache
757
+			),
758
+			'EventEspresso\core\domain\services\admin\privacy\export\ExportCheckins' => array(
759
+				'EEM_Checkin' => EE_Dependency_Map::load_from_cache,
760
+			),
761
+			'EventEspresso\core\domain\services\admin\privacy\export\ExportRegistration' => array(
762
+				'EEM_Registration' => EE_Dependency_Map::load_from_cache,
763
+			),
764
+			'EventEspresso\core\domain\services\admin\privacy\export\ExportTransaction' => array(
765
+				'EEM_Transaction' => EE_Dependency_Map::load_from_cache,
766
+			),
767
+			'EventEspresso\core\domain\services\admin\privacy\erasure\EraseAttendeeData' => array(
768
+				'EEM_Attendee' => EE_Dependency_Map::load_from_cache,
769
+			),
770
+			'EventEspresso\core\domain\services\admin\privacy\erasure\EraseAnswers' => array(
771
+				'EEM_Answer' => EE_Dependency_Map::load_from_cache,
772
+				'EEM_Question' => EE_Dependency_Map::load_from_cache,
773
+			),
774
+			'EventEspresso\core\CPTs\CptQueryModifier' => array(
775
+				null,
776
+				null,
777
+				null,
778
+				'EE_Request_Handler'                          => EE_Dependency_Map::load_from_cache,
779
+				'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
780
+				'EventEspresso\core\services\loaders\Loader'  => EE_Dependency_Map::load_from_cache,
781
+			),
782
+			'EventEspresso\core\domain\services\admin\privacy\forms\PrivacySettingsFormHandler' => array(
783
+				'EE_Registry' => EE_Dependency_Map::load_from_cache,
784
+				'EE_Config' => EE_Dependency_Map::load_from_cache
785
+			),
786
+			'EventEspresso\core\services\editor\BlockRegistrationManager'                                                 => array(
787
+				'EventEspresso\core\services\assets\BlockAssetManagerCollection' => EE_Dependency_Map::load_from_cache,
788
+				'EventEspresso\core\domain\entities\editor\BlockCollection'      => EE_Dependency_Map::load_from_cache,
789
+				'EventEspresso\core\services\route_match\RouteMatchSpecificationManager' => EE_Dependency_Map::load_from_cache,
790
+				'EventEspresso\core\services\request\Request'                    => EE_Dependency_Map::load_from_cache,
791
+			),
792
+			'EventEspresso\core\domain\entities\editor\CoreBlocksAssetManager' => array(
793
+				'EventEspresso\core\domain\Domain'                   => EE_Dependency_Map::load_from_cache,
794
+				'EventEspresso\core\services\assets\AssetCollection' => EE_Dependency_Map::load_from_cache,
795
+				'EventEspresso\core\services\assets\Registry'        => EE_Dependency_Map::load_from_cache,
796
+			),
797
+			'EventEspresso\core\domain\services\blocks\EventAttendeesBlockRenderer' => array(
798
+				'EventEspresso\core\domain\Domain' => EE_Dependency_Map::load_from_cache,
799
+				'EEM_Attendee' => EE_Dependency_Map::load_from_cache,
800
+			),
801
+			'EventEspresso\core\domain\entities\editor\blocks\EventAttendees' => array(
802
+				'EventEspresso\core\domain\entities\editor\CoreBlocksAssetManager' => self::load_from_cache,
803
+				'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
804
+				'EventEspresso\core\domain\services\blocks\EventAttendeesBlockRenderer' => self::load_from_cache,
805
+			),
806
+			'EventEspresso\core\services\route_match\RouteMatchSpecificationDependencyResolver' => array(
807
+				'EventEspresso\core\services\container\Mirror' => EE_Dependency_Map::load_from_cache,
808
+				'EventEspresso\core\services\loaders\ClassInterfaceCache' => EE_Dependency_Map::load_from_cache,
809
+				'EE_Dependency_Map' => EE_Dependency_Map::load_from_cache,
810
+			),
811
+			'EventEspresso\core\services\route_match\RouteMatchSpecificationFactory' => array(
812
+				'EventEspresso\core\services\route_match\RouteMatchSpecificationDependencyResolver' => EE_Dependency_Map::load_from_cache,
813
+				'EventEspresso\core\services\loaders\Loader' => EE_Dependency_Map::load_from_cache,
814
+			),
815
+			'EventEspresso\core\services\route_match\RouteMatchSpecificationManager' => array(
816
+				'EventEspresso\core\services\route_match\RouteMatchSpecificationCollection' => EE_Dependency_Map::load_from_cache,
817
+				'EventEspresso\core\services\route_match\RouteMatchSpecificationFactory' => EE_Dependency_Map::load_from_cache,
818
+			),
819
+			'EventEspresso\core\libraries\rest_api\CalculatedModelFields' => array(
820
+				'EventEspresso\core\libraries\rest_api\calculations\CalculatedModelFieldsFactory' => EE_Dependency_Map::load_from_cache
821
+			),
822
+			'EventEspresso\core\libraries\rest_api\calculations\CalculatedModelFieldsFactory' => array(
823
+				'EventEspresso\core\services\loaders\Loader'  => EE_Dependency_Map::load_from_cache,
824
+			),
825
+			'EventEspresso\core\libraries\rest_api\controllers\model\Read' => array(
826
+				'EventEspresso\core\libraries\rest_api\CalculatedModelFields' => EE_Dependency_Map::load_from_cache
827
+			),
828
+			'EventEspresso\core\libraries\rest_api\calculations\Datetime' => array(
829
+				'EEM_Datetime' => EE_Dependency_Map::load_from_cache,
830
+				'EEM_Registration' => EE_Dependency_Map::load_from_cache
831
+			),
832
+			'EventEspresso\core\libraries\rest_api\calculations\Event' => array(
833
+				'EEM_Event' => EE_Dependency_Map::load_from_cache,
834
+				'EEM_Registration' => EE_Dependency_Map::load_from_cache
835
+			),
836
+			'EventEspresso\core\libraries\rest_api\calculations\Registration' => array(
837
+				'EEM_Registration' => EE_Dependency_Map::load_from_cache
838
+			),
839
+			'EventEspresso\core\services\session\SessionStartHandler' => array(
840
+				'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
841
+			),
842
+			'EE_URL_Validation_Strategy' => array(
843
+				null,
844
+				null,
845
+				'EventEspresso\core\services\validators\URLValidator' => EE_Dependency_Map::load_from_cache
846
+			),
847
+			'EventEspresso\admin_pages\general_settings\OrganizationSettings' => array(
848
+				'EE_Registry'                                             => EE_Dependency_Map::load_from_cache,
849
+				'EE_Organization_Config'                                  => EE_Dependency_Map::load_from_cache,
850
+				'EE_Core_Config'                                          => EE_Dependency_Map::load_from_cache,
851
+				'EE_Network_Core_Config'                                  => EE_Dependency_Map::load_from_cache,
852
+				'EventEspresso\core\services\address\CountrySubRegionDao' => EE_Dependency_Map::load_from_cache,
853
+			),
854
+			'EventEspresso\core\services\address\CountrySubRegionDao' => array(
855
+				'EEM_State'                                            => EE_Dependency_Map::load_from_cache,
856
+				'EventEspresso\core\services\validators\JsonValidator' => EE_Dependency_Map::load_from_cache
857
+			),
858
+			'EventEspresso\core\domain\services\admin\ajax\WordpressHeartbeat' => array(
859
+				'EventEspresso\core\services\loaders\Loader'  => EE_Dependency_Map::load_from_cache,
860
+				'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
861
+			),
862
+			'EventEspresso\core\domain\services\admin\ajax\EventEditorHeartbeat' => array(
863
+				'EventEspresso\core\domain\Domain' => EE_Dependency_Map::load_from_cache,
864
+				'EE_Environment_Config'            => EE_Dependency_Map::load_from_cache,
865
+			),
866
+			'EventEspresso\core\services\request\files\FilesDataHandler' => array(
867
+				'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
868
+			),
869
+			'EventEspressoBatchRequest\BatchRequestProcessor'                              => [
870
+				'EventEspresso\core\services\loaders\Loader'  => EE_Dependency_Map::load_from_cache,
871
+			],
872
+			'EventEspresso\core\domain\services\admin\registrations\list_table\QueryBuilder' => [
873
+				null,
874
+				'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
875
+				'EEM_Registration'  => EE_Dependency_Map::load_from_cache,
876
+			],
877
+			'EventEspresso\core\domain\services\admin\registrations\list_table\page_header\AttendeeFilterHeader' => [
878
+				'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
879
+				'EEM_Attendee'  => EE_Dependency_Map::load_from_cache,
880
+			],
881
+			'EventEspresso\core\domain\services\admin\registrations\list_table\page_header\DateFilterHeader' => [
882
+				'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
883
+				'EEM_Datetime'  => EE_Dependency_Map::load_from_cache,
884
+			],
885
+			'EventEspresso\core\domain\services\admin\registrations\list_table\page_header\EventFilterHeader' => [
886
+				'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
887
+				'EEM_Event'  => EE_Dependency_Map::load_from_cache,
888
+			],
889
+			'EventEspresso\core\domain\services\admin\registrations\list_table\page_header\TicketFilterHeader' => [
890
+				'EventEspresso\core\services\request\Request' => EE_Dependency_Map::load_from_cache,
891
+				'EEM_Ticket'  => EE_Dependency_Map::load_from_cache,
892
+			],
893
+			'EventEspresso\core\domain\services\converters\RestApiSpoofer' => [
894
+				'WP_REST_Server' => EE_Dependency_Map::load_from_cache,
895
+				'EED_Core_Rest_Api' => EE_Dependency_Map::load_from_cache,
896
+				'EventEspresso\core\libraries\rest_api\controllers\model\Read' => EE_Dependency_Map::load_from_cache,
897
+				null
898
+			],
899
+			'EventEspresso\core\domain\services\admin\events\default_settings\AdvancedEditorAdminFormSection'  => [
900
+				'EE_Admin_Config' => EE_Dependency_Map::load_from_cache
901
+			],
902
+			'EventEspresso\core\domain\services\admin\events\editor\EventEditor' => [
903
+				'EE_Admin_Config' => EE_Dependency_Map::load_from_cache,
904
+				'EE_Event'        => EE_Dependency_Map::not_registered,
905
+				'EventEspresso\core\domain\entities\admin\GraphQLData\CurrentUser' =>
906
+					EE_Dependency_Map::not_registered,
907
+				'EventEspresso\core\domain\services\admin\events\editor\EventEditorGraphQLData' =>
908
+					EE_Dependency_Map::load_from_cache,
909
+				'EventEspresso\core\domain\entities\admin\GraphQLData\GeneralSettings' =>
910
+					EE_Dependency_Map::load_from_cache,
911
+				'EventEspresso\core\services\assets\JedLocaleData' => EE_Dependency_Map::load_from_cache,
912
+			],
913
+			'EventEspresso\core\services\graphql\GraphQLManager' => [
914
+				'EventEspresso\core\services\graphql\ConnectionsManager' => EE_Dependency_Map::load_from_cache,
915
+				'EventEspresso\core\services\graphql\DataLoaderManager'  => EE_Dependency_Map::load_from_cache,
916
+				'EventEspresso\core\services\graphql\EnumsManager'       => EE_Dependency_Map::load_from_cache,
917
+				'EventEspresso\core\services\graphql\InputsManager'      => EE_Dependency_Map::load_from_cache,
918
+				'EventEspresso\core\services\graphql\TypesManager'       => EE_Dependency_Map::load_from_cache,
919
+			],
920
+			'EventEspresso\core\services\graphql\TypesManager' => [
921
+				'EventEspresso\core\services\graphql\types\TypeCollection' => EE_Dependency_Map::load_from_cache,
922
+			],
923
+			'EventEspresso\core\services\graphql\InputsManager' => [
924
+				'EventEspresso\core\services\graphql\inputs\InputCollection' => EE_Dependency_Map::load_from_cache,
925
+			],
926
+			'EventEspresso\core\services\graphql\EnumsManager' => [
927
+				'EventEspresso\core\services\graphql\enums\EnumCollection' => EE_Dependency_Map::load_from_cache,
928
+			],
929
+			'EventEspresso\core\services\graphql\ConnectionsManager' => [
930
+				'EventEspresso\core\services\graphql\connections\ConnectionCollection' => EE_Dependency_Map::load_from_cache,
931
+			],
932
+			'EventEspresso\core\domain\services\graphql\types\Datetime' => [
933
+				'EEM_Datetime' => EE_Dependency_Map::load_from_cache,
934
+			],
935
+			'EventEspresso\core\domain\services\graphql\types\Attendee' => [
936
+				'EEM_Attendee' => EE_Dependency_Map::load_from_cache,
937
+			],
938
+			'EventEspresso\core\domain\services\graphql\types\Event' => [
939
+				'EEM_Event' => EE_Dependency_Map::load_from_cache,
940
+			],
941
+			'EventEspresso\core\domain\services\graphql\types\Ticket' => [
942
+				'EEM_Ticket' => EE_Dependency_Map::load_from_cache,
943
+			],
944
+			'EventEspresso\core\domain\services\graphql\types\Price' => [
945
+				'EEM_Price' => EE_Dependency_Map::load_from_cache,
946
+			],
947
+			'EventEspresso\core\domain\services\graphql\types\PriceType' => [
948
+				'EEM_Price_Type' => EE_Dependency_Map::load_from_cache,
949
+			],
950
+			'EventEspresso\core\domain\services\graphql\types\Venue' => [
951
+				'EEM_Venue' => EE_Dependency_Map::load_from_cache,
952
+			],
953
+			'EventEspresso\core\domain\services\graphql\types\State' => [
954
+				'EEM_State' => EE_Dependency_Map::load_from_cache,
955
+			],
956
+			'EventEspresso\core\domain\services\graphql\types\Country' => [
957
+				'EEM_Country' => EE_Dependency_Map::load_from_cache,
958
+			],
959
+			'EventEspresso\core\domain\services\graphql\connections\EventDatetimesConnection' => [
960
+				'EEM_Datetime' => EE_Dependency_Map::load_from_cache,
961
+			],
962
+			'EventEspresso\core\domain\services\graphql\connections\RootQueryDatetimesConnection' => [
963
+				'EEM_Datetime' => EE_Dependency_Map::load_from_cache,
964
+			],
965
+			'EventEspresso\core\domain\services\graphql\connections\RootQueryAttendeesConnection' => [
966
+				'EEM_Attendee' => EE_Dependency_Map::load_from_cache,
967
+			],
968
+			'EventEspresso\core\domain\services\graphql\connections\DatetimeTicketsConnection' => [
969
+				'EEM_Ticket' => EE_Dependency_Map::load_from_cache,
970
+			],
971
+			'EventEspresso\core\domain\services\graphql\connections\RootQueryTicketsConnection' => [
972
+				'EEM_Ticket' => EE_Dependency_Map::load_from_cache,
973
+			],
974
+			'EventEspresso\core\domain\services\graphql\connections\TicketPricesConnection' => [
975
+				'EEM_Price' => EE_Dependency_Map::load_from_cache,
976
+			],
977
+			'EventEspresso\core\domain\services\graphql\connections\RootQueryPricesConnection' => [
978
+				'EEM_Price' => EE_Dependency_Map::load_from_cache,
979
+			],
980
+			'EventEspresso\core\domain\services\graphql\connections\RootQueryPriceTypesConnection' => [
981
+				'EEM_Price_Type' => EE_Dependency_Map::load_from_cache,
982
+			],
983
+			'EventEspresso\core\domain\services\graphql\connections\TicketDatetimesConnection' => [
984
+				'EEM_Datetime' => EE_Dependency_Map::load_from_cache,
985
+			],
986
+			'EventEspresso\core\domain\services\graphql\connections\EventVenuesConnection' => [
987
+				'EEM_Venue' => EE_Dependency_Map::load_from_cache,
988
+			],
989
+			'EventEspresso\core\domain\services\admin\events\editor\EventEditorGraphQLData' => [
990
+				'EventEspresso\core\domain\entities\admin\GraphQLData\Datetimes' => EE_Dependency_Map::load_from_cache,
991
+				'EventEspresso\core\domain\entities\admin\GraphQLData\Prices' => EE_Dependency_Map::load_from_cache,
992
+				'EventEspresso\core\domain\entities\admin\GraphQLData\PriceTypes' => EE_Dependency_Map::load_from_cache,
993
+				'EventEspresso\core\domain\entities\admin\GraphQLData\Tickets' => EE_Dependency_Map::load_from_cache,
994
+				'EventEspresso\core\domain\services\admin\events\editor\NewEventDefaultEntities' => EE_Dependency_Map::load_from_cache,
995
+				'EventEspresso\core\domain\services\admin\events\editor\EventEntityRelations' => EE_Dependency_Map::load_from_cache,
996
+			],
997
+			'EventEspresso\core\domain\services\admin\events\editor\EventEntityRelations' => [
998
+				'EEM_Datetime'   => EE_Dependency_Map::load_from_cache,
999
+				'EEM_Event'      => EE_Dependency_Map::load_from_cache,
1000
+				'EEM_Price'      => EE_Dependency_Map::load_from_cache,
1001
+				'EEM_Price_Type' => EE_Dependency_Map::load_from_cache,
1002
+				'EEM_Ticket'     => EE_Dependency_Map::load_from_cache,
1003
+			],
1004
+			'EventEspresso\core\domain\services\admin\events\editor\NewEventDefaultEntities' => [
1005
+				'EEM_Datetime'                                                       => EE_Dependency_Map::load_from_cache,
1006
+				'EEM_Event'                                                          => EE_Dependency_Map::load_from_cache,
1007
+				'EEM_Price'                                                          => EE_Dependency_Map::load_from_cache,
1008
+				'EEM_Price_Type'                                                     => EE_Dependency_Map::load_from_cache,
1009
+				'EEM_Ticket'                                                         => EE_Dependency_Map::load_from_cache,
1010
+				'EventEspresso\core\domain\services\admin\entities\DefaultDatetimes' => EE_Dependency_Map::load_from_cache,
1011
+			],
1012
+			'EventEspresso\core\domain\services\admin\entities\DefaultDatetimes' => [
1013
+				'EventEspresso\core\domain\services\admin\entities\DefaultTickets' => EE_Dependency_Map::load_from_cache,
1014
+				'EEM_Datetime'                                                     => EE_Dependency_Map::load_from_cache,
1015
+			],
1016
+			'EventEspresso\core\domain\services\admin\entities\DefaultTickets' => [
1017
+				'EventEspresso\core\domain\services\admin\entities\DefaultPrices' => EE_Dependency_Map::load_from_cache,
1018
+				'EEM_Ticket'                                                      => EE_Dependency_Map::load_from_cache,
1019
+			],
1020
+			'EventEspresso\core\domain\services\admin\entities\DefaultPrices' => [
1021
+				'EEM_Price' => EE_Dependency_Map::load_from_cache,
1022
+			],
1023
+			'EventEspresso\core\services\graphql\DataLoaderManager' => [
1024
+				'EventEspresso\core\services\graphql\loaders\DataLoaderCollection' => EE_Dependency_Map::load_from_cache,
1025
+			],
1026
+		);
1027
+	}
1028
+
1029
+
1030
+	/**
1031
+	 * Registers how core classes are loaded.
1032
+	 * This can either be done by simply providing the name of one of the EE_Registry loader methods such as:
1033
+	 *        'EE_Request_Handler' => 'load_core'
1034
+	 *        'EE_Messages_Queue'  => 'load_lib'
1035
+	 *        'EEH_Debug_Tools'    => 'load_helper'
1036
+	 * or, if greater control is required, by providing a custom closure. For example:
1037
+	 *        'Some_Class' => function () {
1038
+	 *            return new Some_Class();
1039
+	 *        },
1040
+	 * This is required for instantiating dependencies
1041
+	 * where an interface has been type hinted in a class constructor. For example:
1042
+	 *        'Required_Interface' => function () {
1043
+	 *            return new A_Class_That_Implements_Required_Interface();
1044
+	 *        },
1045
+	 */
1046
+	protected function _register_core_class_loaders()
1047
+	{
1048
+		$this->_class_loaders = array(
1049
+			// load_core
1050
+			'EE_Dependency_Map'                            => function () {
1051
+				return $this;
1052
+			},
1053
+			'EE_Capabilities'                              => 'load_core',
1054
+			'EE_Encryption'                                => 'load_core',
1055
+			'EE_Front_Controller'                          => 'load_core',
1056
+			'EE_Module_Request_Router'                     => 'load_core',
1057
+			'EE_Registry'                                  => 'load_core',
1058
+			'EE_Request'                                   => function () {
1059
+				return $this->legacy_request;
1060
+			},
1061
+			'EventEspresso\core\services\request\Request'  => function () {
1062
+				return $this->request;
1063
+			},
1064
+			'EventEspresso\core\services\request\Response' => function () {
1065
+				return $this->response;
1066
+			},
1067
+			'EE_Base'                                      => 'load_core',
1068
+			'EE_Request_Handler'                           => 'load_core',
1069
+			'EE_Session'                                   => 'load_core',
1070
+			'EE_Cron_Tasks'                                => 'load_core',
1071
+			'EE_System'                                    => 'load_core',
1072
+			'EE_Maintenance_Mode'                          => 'load_core',
1073
+			'EE_Register_CPTs'                             => 'load_core',
1074
+			'EE_Admin'                                     => 'load_core',
1075
+			'EE_CPT_Strategy'                              => 'load_core',
1076
+			// load_class
1077
+			'EE_Registration_Processor'                    => 'load_class',
1078
+			// load_lib
1079
+			'EE_Message_Resource_Manager'                  => 'load_lib',
1080
+			'EE_Message_Type_Collection'                   => 'load_lib',
1081
+			'EE_Message_Type_Collection_Loader'            => 'load_lib',
1082
+			'EE_Messenger_Collection'                      => 'load_lib',
1083
+			'EE_Messenger_Collection_Loader'               => 'load_lib',
1084
+			'EE_Messages_Processor'                        => 'load_lib',
1085
+			'EE_Message_Repository'                        => 'load_lib',
1086
+			'EE_Messages_Queue'                            => 'load_lib',
1087
+			'EE_Messages_Data_Handler_Collection'          => 'load_lib',
1088
+			'EE_Message_Template_Group_Collection'         => 'load_lib',
1089
+			'EE_Payment_Method_Manager'                    => 'load_lib',
1090
+			'EE_DMS_Core_4_1_0'                            => 'load_dms',
1091
+			'EE_DMS_Core_4_2_0'                            => 'load_dms',
1092
+			'EE_DMS_Core_4_3_0'                            => 'load_dms',
1093
+			'EE_DMS_Core_4_5_0'                            => 'load_dms',
1094
+			'EE_DMS_Core_4_6_0'                            => 'load_dms',
1095
+			'EE_DMS_Core_4_7_0'                            => 'load_dms',
1096
+			'EE_DMS_Core_4_8_0'                            => 'load_dms',
1097
+			'EE_DMS_Core_4_9_0'                            => 'load_dms',
1098
+			'EE_DMS_Core_4_10_0'                            => 'load_dms',
1099
+			'EE_Messages_Generator'                        => static function () {
1100
+				return EE_Registry::instance()->load_lib(
1101
+					'Messages_Generator',
1102
+					array(),
1103
+					false,
1104
+					false
1105
+				);
1106
+			},
1107
+			'EE_Messages_Template_Defaults'                => static function ($arguments = array()) {
1108
+				return EE_Registry::instance()->load_lib(
1109
+					'Messages_Template_Defaults',
1110
+					$arguments,
1111
+					false,
1112
+					false
1113
+				);
1114
+			},
1115
+			// load_helper
1116
+			'EEH_Parse_Shortcodes'                         => static function () {
1117
+				if (EE_Registry::instance()->load_helper('Parse_Shortcodes')) {
1118
+					return new EEH_Parse_Shortcodes();
1119
+				}
1120
+				return null;
1121
+			},
1122
+			'EE_Template_Config'                           => static function () {
1123
+				return EE_Config::instance()->template_settings;
1124
+			},
1125
+			'EE_Currency_Config'                           => static function () {
1126
+				return EE_Config::instance()->currency;
1127
+			},
1128
+			'EE_Registration_Config'                       => static function () {
1129
+				return EE_Config::instance()->registration;
1130
+			},
1131
+			'EE_Core_Config'                               => static function () {
1132
+				return EE_Config::instance()->core;
1133
+			},
1134
+			'EventEspresso\core\services\loaders\Loader'   => static function () {
1135
+				return LoaderFactory::getLoader();
1136
+			},
1137
+			'EE_Network_Config'                            => static function () {
1138
+				return EE_Network_Config::instance();
1139
+			},
1140
+			'EE_Config'                                    => static function () {
1141
+				return EE_Config::instance();
1142
+			},
1143
+			'EventEspresso\core\domain\Domain'             => static function () {
1144
+				return DomainFactory::getEventEspressoCoreDomain();
1145
+			},
1146
+			'EE_Admin_Config'                              => static function () {
1147
+				return EE_Config::instance()->admin;
1148
+			},
1149
+			'EE_Organization_Config'                       => static function () {
1150
+				return EE_Config::instance()->organization;
1151
+			},
1152
+			'EE_Network_Core_Config'                       => static function () {
1153
+				return EE_Network_Config::instance()->core;
1154
+			},
1155
+			'EE_Environment_Config'                        => static function () {
1156
+				return EE_Config::instance()->environment;
1157
+			},
1158
+			'EED_Core_Rest_Api'                            => static function () {
1159
+				return EED_Core_Rest_Api::instance();
1160
+			},
1161
+			'WP_REST_Server'                            => static function () {
1162
+				return rest_get_server();
1163
+			},
1164
+		);
1165
+	}
1166
+
1167
+
1168
+	/**
1169
+	 * can be used for supplying alternate names for classes,
1170
+	 * or for connecting interface names to instantiable classes
1171
+	 *
1172
+	 * @throws InvalidAliasException
1173
+	 */
1174
+	protected function _register_core_aliases()
1175
+	{
1176
+		$aliases = array(
1177
+			'CommandBusInterface'                                                          => 'EventEspresso\core\services\commands\CommandBusInterface',
1178
+			'EventEspresso\core\services\commands\CommandBusInterface'                     => 'EventEspresso\core\services\commands\CommandBus',
1179
+			'CommandHandlerManagerInterface'                                               => 'EventEspresso\core\services\commands\CommandHandlerManagerInterface',
1180
+			'EventEspresso\core\services\commands\CommandHandlerManagerInterface'          => 'EventEspresso\core\services\commands\CommandHandlerManager',
1181
+			'CapChecker'                                                                   => 'EventEspresso\core\services\commands\middleware\CapChecker',
1182
+			'AddActionHook'                                                                => 'EventEspresso\core\services\commands\middleware\AddActionHook',
1183
+			'CapabilitiesChecker'                                                          => 'EventEspresso\core\domain\services\capabilities\CapabilitiesChecker',
1184
+			'CapabilitiesCheckerInterface'                                                 => 'EventEspresso\core\domain\services\capabilities\CapabilitiesCheckerInterface',
1185
+			'EventEspresso\core\domain\services\capabilities\CapabilitiesCheckerInterface' => 'EventEspresso\core\domain\services\capabilities\CapabilitiesChecker',
1186
+			'CreateRegistrationService'                                                    => 'EventEspresso\core\domain\services\registration\CreateRegistrationService',
1187
+			'CreateRegistrationCommandHandler'                                             => 'EventEspresso\core\services\commands\registration\CreateRegistrationCommand',
1188
+			'CopyRegistrationDetailsCommandHandler'                                        => 'EventEspresso\core\services\commands\registration\CopyRegistrationDetailsCommand',
1189
+			'CopyRegistrationPaymentsCommandHandler'                                       => 'EventEspresso\core\services\commands\registration\CopyRegistrationPaymentsCommand',
1190
+			'CancelRegistrationAndTicketLineItemCommandHandler'                            => 'EventEspresso\core\services\commands\registration\CancelRegistrationAndTicketLineItemCommandHandler',
1191
+			'UpdateRegistrationAndTransactionAfterChangeCommandHandler'                    => 'EventEspresso\core\services\commands\registration\UpdateRegistrationAndTransactionAfterChangeCommandHandler',
1192
+			'CreateTicketLineItemCommandHandler'                                           => 'EventEspresso\core\services\commands\ticket\CreateTicketLineItemCommand',
1193
+			'CreateTransactionCommandHandler'                                              => 'EventEspresso\core\services\commands\transaction\CreateTransactionCommandHandler',
1194
+			'CreateAttendeeCommandHandler'                                                 => 'EventEspresso\core\services\commands\attendee\CreateAttendeeCommandHandler',
1195
+			'TableManager'                                                                 => 'EventEspresso\core\services\database\TableManager',
1196
+			'TableAnalysis'                                                                => 'EventEspresso\core\services\database\TableAnalysis',
1197
+			'EspressoShortcode'                                                            => 'EventEspresso\core\services\shortcodes\EspressoShortcode',
1198
+			'ShortcodeInterface'                                                           => 'EventEspresso\core\services\shortcodes\ShortcodeInterface',
1199
+			'EventEspresso\core\services\shortcodes\ShortcodeInterface'                    => 'EventEspresso\core\services\shortcodes\EspressoShortcode',
1200
+			'EventEspresso\core\services\cache\CacheStorageInterface'                      => 'EventEspresso\core\services\cache\TransientCacheStorage',
1201
+			'LoaderInterface'                                                              => 'EventEspresso\core\services\loaders\LoaderInterface',
1202
+			'EventEspresso\core\services\loaders\LoaderInterface'                          => 'EventEspresso\core\services\loaders\Loader',
1203
+			'CommandFactoryInterface'                                                      => 'EventEspresso\core\services\commands\CommandFactoryInterface',
1204
+			'EventEspresso\core\services\commands\CommandFactoryInterface'                 => 'EventEspresso\core\services\commands\CommandFactory',
1205
+			'EmailValidatorInterface'                                                      => 'EventEspresso\core\domain\services\validation\email\EmailValidatorInterface',
1206
+			'EventEspresso\core\domain\services\validation\email\EmailValidatorInterface'  => 'EventEspresso\core\domain\services\validation\email\EmailValidationService',
1207
+			'NoticeConverterInterface'                                                     => 'EventEspresso\core\services\notices\NoticeConverterInterface',
1208
+			'EventEspresso\core\services\notices\NoticeConverterInterface'                 => 'EventEspresso\core\services\notices\ConvertNoticesToEeErrors',
1209
+			'NoticesContainerInterface'                                                    => 'EventEspresso\core\services\notices\NoticesContainerInterface',
1210
+			'EventEspresso\core\services\notices\NoticesContainerInterface'                => 'EventEspresso\core\services\notices\NoticesContainer',
1211
+			'EventEspresso\core\services\request\RequestInterface'                         => 'EventEspresso\core\services\request\Request',
1212
+			'EventEspresso\core\services\request\ResponseInterface'                        => 'EventEspresso\core\services\request\Response',
1213
+			'EventEspresso\core\domain\DomainInterface'                                    => 'EventEspresso\core\domain\Domain',
1214
+			'Registration_Processor'                                                       => 'EE_Registration_Processor',
1215
+		);
1216
+		foreach ($aliases as $alias => $fqn) {
1217
+			if (is_array($fqn)) {
1218
+				foreach ($fqn as $class => $for_class) {
1219
+					$this->class_cache->addAlias($class, $alias, $for_class);
1220
+				}
1221
+				continue;
1222
+			}
1223
+			$this->class_cache->addAlias($fqn, $alias);
1224
+		}
1225
+		if (! (defined('DOING_AJAX') && DOING_AJAX) && is_admin()) {
1226
+			$this->class_cache->addAlias(
1227
+				'EventEspresso\core\services\notices\ConvertNoticesToAdminNotices',
1228
+				'EventEspresso\core\services\notices\NoticeConverterInterface'
1229
+			);
1230
+		}
1231
+	}
1232
+
1233
+
1234
+	/**
1235
+	 * This is used to reset the internal map and class_loaders to their original default state at the beginning of the
1236
+	 * request Primarily used by unit tests.
1237
+	 */
1238
+	public function reset()
1239
+	{
1240
+		$this->_register_core_class_loaders();
1241
+		$this->_register_core_dependencies();
1242
+	}
1243
+
1244
+
1245
+	/**
1246
+	 * PLZ NOTE: a better name for this method would be is_alias()
1247
+	 * because it returns TRUE if the provided fully qualified name IS an alias
1248
+	 * WHY?
1249
+	 * Because if a class is type hinting for a concretion,
1250
+	 * then why would we need to find another class to supply it?
1251
+	 * ie: if a class asks for `Fully/Qualified/Namespace/SpecificClassName`,
1252
+	 * then give it an instance of `Fully/Qualified/Namespace/SpecificClassName`.
1253
+	 * Don't go looking for some substitute.
1254
+	 * Whereas if a class is type hinting for an interface...
1255
+	 * then we need to find an actual class to use.
1256
+	 * So the interface IS the alias for some other FQN,
1257
+	 * and we need to find out if `Fully/Qualified/Namespace/SomeInterface`
1258
+	 * represents some other class.
1259
+	 *
1260
+	 * @deprecated 4.9.62.p
1261
+	 * @param string $fqn
1262
+	 * @param string $for_class
1263
+	 * @return bool
1264
+	 */
1265
+	public function has_alias($fqn = '', $for_class = '')
1266
+	{
1267
+		return $this->isAlias($fqn, $for_class);
1268
+	}
1269
+
1270
+
1271
+	/**
1272
+	 * PLZ NOTE: a better name for this method would be get_fqn_for_alias()
1273
+	 * because it returns a FQN for provided alias if one exists, otherwise returns the original $alias
1274
+	 * functions recursively, so that multiple aliases can be used to drill down to a FQN
1275
+	 *  for example:
1276
+	 *      if the following two entries were added to the _aliases array:
1277
+	 *          array(
1278
+	 *              'interface_alias'           => 'some\namespace\interface'
1279
+	 *              'some\namespace\interface'  => 'some\namespace\classname'
1280
+	 *          )
1281
+	 *      then one could use EE_Registry::instance()->create( 'interface_alias' )
1282
+	 *      to load an instance of 'some\namespace\classname'
1283
+	 *
1284
+	 * @deprecated 4.9.62.p
1285
+	 * @param string $alias
1286
+	 * @param string $for_class
1287
+	 * @return string
1288
+	 */
1289
+	public function get_alias($alias = '', $for_class = '')
1290
+	{
1291
+		return $this->getFqnForAlias($alias, $for_class);
1292
+	}
1293 1293
 }
Please login to merge, or discard this patch.
core/domain/services/graphql/data/mutations/TicketMutation.php 1 patch
Indentation   +183 added lines, -183 removed lines patch added patch discarded remove patch
@@ -24,187 +24,187 @@
 block discarded – undo
24 24
 class TicketMutation
25 25
 {
26 26
 
27
-    /**
28
-     * Maps the GraphQL input to a format that the model functions can use
29
-     *
30
-     * @param array $input Data coming from the GraphQL mutation query input
31
-     * @return array
32
-     * @throws Exception
33
-     */
34
-    public static function prepareFields(array $input)
35
-    {
36
-        $args = [];
37
-
38
-        if (! empty($input['datetimes'])) {
39
-            $args['datetimes'] = array_map('sanitize_text_field', (array) $input['datetimes']);
40
-        }
41
-
42
-        if (! empty($input['description'])) {
43
-            $args['TKT_description'] = sanitize_text_field($input['description']);
44
-        }
45
-
46
-        if (! empty($input['endDate'])) {
47
-            $args['TKT_end_date'] = new DateTime(sanitize_text_field($input['endDate']));
48
-        }
49
-
50
-        if (array_key_exists('isDefault', $input)) {
51
-            $args['TKT_is_default'] = (bool) $input['isDefault'];
52
-        }
53
-
54
-        if (array_key_exists('isRequired', $input)) {
55
-            $args['TKT_required'] = (bool) $input['isRequired'];
56
-        }
57
-
58
-        if (array_key_exists('isTaxable', $input)) {
59
-            $args['TKT_taxable'] = (bool) $input['isTaxable'];
60
-        }
61
-
62
-        if (array_key_exists('isTrashed', $input)) {
63
-            $args['TKT_deleted'] = (bool) $input['isTrashed'];
64
-        }
65
-
66
-        if (array_key_exists('max', $input)) {
67
-            $args['TKT_max'] = (int) $input['max'];
68
-        }
69
-
70
-        if (array_key_exists('min', $input)) {
71
-            $args['TKT_min'] = (int) $input['min'];
72
-        }
73
-
74
-        if (! empty($input['name'])) {
75
-            $args['TKT_name'] = sanitize_text_field($input['name']);
76
-        }
77
-
78
-        if (array_key_exists('order', $input)) {
79
-            $args['TKT_order'] = (int) $input['order'];
80
-        }
81
-
82
-        if (! empty($input['parent'])) {
83
-            $parts = Relay::fromGlobalId(sanitize_text_field($input['parent']));
84
-            $args['TKT_parent'] = (! empty($parts['id']) && is_int($parts['id'])) ? $parts['id'] : null;
85
-        }
86
-
87
-        if (! empty($input['price'])) {
88
-            $args['TKT_price'] = (float) $input['price'];
89
-        }
90
-
91
-        if (! empty($input['prices'])) {
92
-            $args['prices'] = array_map('sanitize_text_field', (array) $input['prices']);
93
-        }
94
-
95
-        if (array_key_exists('quantity', $input)) {
96
-            $args['TKT_qty'] = (int) $input['quantity'];
97
-        }
98
-
99
-        if (array_key_exists('reserved', $input)) {
100
-            $args['TKT_reserved'] = (int) $input['reserved'];
101
-        }
102
-
103
-        if (array_key_exists('reverseCalculate', $input)) {
104
-            $args['TKT_reverse_calculate'] = (bool) $input['reverseCalculate'];
105
-        }
106
-
107
-        if (array_key_exists('row', $input)) {
108
-            $args['TKT_row'] = (int) $input['row'];
109
-        }
110
-
111
-        if (array_key_exists('sold', $input)) {
112
-            $args['TKT_sold'] = (int) $input['sold'];
113
-        }
114
-
115
-        if (! empty($input['startDate'])) {
116
-            $args['TKT_start_date'] = new DateTime(sanitize_text_field($input['startDate']));
117
-        }
118
-
119
-        if (array_key_exists('uses', $input)) {
120
-            $args['TKT_uses'] = (int) $input['uses'];
121
-        }
122
-
123
-        if (! empty($input['wpUser'])) {
124
-            $parts = Relay::fromGlobalId(sanitize_text_field($input['wpUser']));
125
-            $args['TKT_wp_user'] = (! empty($parts['id']) && is_int($parts['id'])) ? $parts['id'] : null;
126
-        }
127
-
128
-        return $args;
129
-    }
130
-
131
-
132
-    /**
133
-     * Sets the related datetimes for the given ticket.
134
-     *
135
-     * @param EE_Ticket $entity    The Ticket instance.
136
-     * @param array     $datetimes Array of datetime IDs to relate.
137
-     * @throws EE_Error
138
-     * @throws InvalidArgumentException
139
-     * @throws InvalidDataTypeException
140
-     * @throws InvalidInterfaceException
141
-     * @throws ReflectionException
142
-     */
143
-    public static function setRelatedDatetimes($entity, array $datetimes)
144
-    {
145
-        $relationName = 'Datetime';
146
-        // Remove all the existing related datetimes
147
-
148
-        $entity->_remove_relations($relationName);
149
-        // @todo replace loop with single query
150
-        foreach ($datetimes as $ID) {
151
-            $parts = Relay::fromGlobalId($ID);
152
-            if (! empty($parts['id']) && absint($parts['id'])) {
153
-                $entity->_add_relation_to(
154
-                    $parts['id'],
155
-                    $relationName
156
-                );
157
-            }
158
-        }
159
-    }
160
-
161
-
162
-    /**
163
-     * Sets the related prices for the given ticket.
164
-     *
165
-     * @param EE_Ticket $entity The Ticket instance.
166
-     * @param array     $prices Array of entity IDs to relate.
167
-     * @throws EE_Error
168
-     * @throws InvalidArgumentException
169
-     * @throws InvalidDataTypeException
170
-     * @throws InvalidInterfaceException
171
-     * @throws ReflectionException
172
-     */
173
-    public static function setRelatedPrices($entity, array $prices)
174
-    {
175
-        $relationName = 'Price';
176
-        // Remove all the existing related entities
177
-        $entity->_remove_relations($relationName);
178
-
179
-        // @todo replace loop with single query
180
-        foreach ($prices as $ID) {
181
-            $parts = Relay::fromGlobalId($ID);
182
-            if (! empty($parts['id']) && absint($parts['id'])) {
183
-                $entity->_add_relation_to(
184
-                    $parts['id'],
185
-                    $relationName
186
-                );
187
-            }
188
-        }
189
-    }
190
-
191
-
192
-    /**
193
-     * @param EE_Ticket  $ticket_entity
194
-     * @param EEM_Ticket $ticket_model
195
-     * @throws EE_Error
196
-     * @throws InvalidArgumentException
197
-     * @throws InvalidDataTypeException
198
-     * @throws InvalidInterfaceException
199
-     * @throws ReflectionException
200
-     * @since $VID:$
201
-     */
202
-    public static function addDefaultPrices(EE_Ticket $ticket_entity, EEM_Ticket $ticket_model)
203
-    {
204
-        /** @var DefaultPrices $default_prices */
205
-        $default_prices = LoaderFactory::getLoader()->getShared(
206
-            'EventEspresso\core\domain\services\admin\entities\DefaultPrices'
207
-        );
208
-        $default_prices->create($ticket_entity);
209
-    }
27
+	/**
28
+	 * Maps the GraphQL input to a format that the model functions can use
29
+	 *
30
+	 * @param array $input Data coming from the GraphQL mutation query input
31
+	 * @return array
32
+	 * @throws Exception
33
+	 */
34
+	public static function prepareFields(array $input)
35
+	{
36
+		$args = [];
37
+
38
+		if (! empty($input['datetimes'])) {
39
+			$args['datetimes'] = array_map('sanitize_text_field', (array) $input['datetimes']);
40
+		}
41
+
42
+		if (! empty($input['description'])) {
43
+			$args['TKT_description'] = sanitize_text_field($input['description']);
44
+		}
45
+
46
+		if (! empty($input['endDate'])) {
47
+			$args['TKT_end_date'] = new DateTime(sanitize_text_field($input['endDate']));
48
+		}
49
+
50
+		if (array_key_exists('isDefault', $input)) {
51
+			$args['TKT_is_default'] = (bool) $input['isDefault'];
52
+		}
53
+
54
+		if (array_key_exists('isRequired', $input)) {
55
+			$args['TKT_required'] = (bool) $input['isRequired'];
56
+		}
57
+
58
+		if (array_key_exists('isTaxable', $input)) {
59
+			$args['TKT_taxable'] = (bool) $input['isTaxable'];
60
+		}
61
+
62
+		if (array_key_exists('isTrashed', $input)) {
63
+			$args['TKT_deleted'] = (bool) $input['isTrashed'];
64
+		}
65
+
66
+		if (array_key_exists('max', $input)) {
67
+			$args['TKT_max'] = (int) $input['max'];
68
+		}
69
+
70
+		if (array_key_exists('min', $input)) {
71
+			$args['TKT_min'] = (int) $input['min'];
72
+		}
73
+
74
+		if (! empty($input['name'])) {
75
+			$args['TKT_name'] = sanitize_text_field($input['name']);
76
+		}
77
+
78
+		if (array_key_exists('order', $input)) {
79
+			$args['TKT_order'] = (int) $input['order'];
80
+		}
81
+
82
+		if (! empty($input['parent'])) {
83
+			$parts = Relay::fromGlobalId(sanitize_text_field($input['parent']));
84
+			$args['TKT_parent'] = (! empty($parts['id']) && is_int($parts['id'])) ? $parts['id'] : null;
85
+		}
86
+
87
+		if (! empty($input['price'])) {
88
+			$args['TKT_price'] = (float) $input['price'];
89
+		}
90
+
91
+		if (! empty($input['prices'])) {
92
+			$args['prices'] = array_map('sanitize_text_field', (array) $input['prices']);
93
+		}
94
+
95
+		if (array_key_exists('quantity', $input)) {
96
+			$args['TKT_qty'] = (int) $input['quantity'];
97
+		}
98
+
99
+		if (array_key_exists('reserved', $input)) {
100
+			$args['TKT_reserved'] = (int) $input['reserved'];
101
+		}
102
+
103
+		if (array_key_exists('reverseCalculate', $input)) {
104
+			$args['TKT_reverse_calculate'] = (bool) $input['reverseCalculate'];
105
+		}
106
+
107
+		if (array_key_exists('row', $input)) {
108
+			$args['TKT_row'] = (int) $input['row'];
109
+		}
110
+
111
+		if (array_key_exists('sold', $input)) {
112
+			$args['TKT_sold'] = (int) $input['sold'];
113
+		}
114
+
115
+		if (! empty($input['startDate'])) {
116
+			$args['TKT_start_date'] = new DateTime(sanitize_text_field($input['startDate']));
117
+		}
118
+
119
+		if (array_key_exists('uses', $input)) {
120
+			$args['TKT_uses'] = (int) $input['uses'];
121
+		}
122
+
123
+		if (! empty($input['wpUser'])) {
124
+			$parts = Relay::fromGlobalId(sanitize_text_field($input['wpUser']));
125
+			$args['TKT_wp_user'] = (! empty($parts['id']) && is_int($parts['id'])) ? $parts['id'] : null;
126
+		}
127
+
128
+		return $args;
129
+	}
130
+
131
+
132
+	/**
133
+	 * Sets the related datetimes for the given ticket.
134
+	 *
135
+	 * @param EE_Ticket $entity    The Ticket instance.
136
+	 * @param array     $datetimes Array of datetime IDs to relate.
137
+	 * @throws EE_Error
138
+	 * @throws InvalidArgumentException
139
+	 * @throws InvalidDataTypeException
140
+	 * @throws InvalidInterfaceException
141
+	 * @throws ReflectionException
142
+	 */
143
+	public static function setRelatedDatetimes($entity, array $datetimes)
144
+	{
145
+		$relationName = 'Datetime';
146
+		// Remove all the existing related datetimes
147
+
148
+		$entity->_remove_relations($relationName);
149
+		// @todo replace loop with single query
150
+		foreach ($datetimes as $ID) {
151
+			$parts = Relay::fromGlobalId($ID);
152
+			if (! empty($parts['id']) && absint($parts['id'])) {
153
+				$entity->_add_relation_to(
154
+					$parts['id'],
155
+					$relationName
156
+				);
157
+			}
158
+		}
159
+	}
160
+
161
+
162
+	/**
163
+	 * Sets the related prices for the given ticket.
164
+	 *
165
+	 * @param EE_Ticket $entity The Ticket instance.
166
+	 * @param array     $prices Array of entity IDs to relate.
167
+	 * @throws EE_Error
168
+	 * @throws InvalidArgumentException
169
+	 * @throws InvalidDataTypeException
170
+	 * @throws InvalidInterfaceException
171
+	 * @throws ReflectionException
172
+	 */
173
+	public static function setRelatedPrices($entity, array $prices)
174
+	{
175
+		$relationName = 'Price';
176
+		// Remove all the existing related entities
177
+		$entity->_remove_relations($relationName);
178
+
179
+		// @todo replace loop with single query
180
+		foreach ($prices as $ID) {
181
+			$parts = Relay::fromGlobalId($ID);
182
+			if (! empty($parts['id']) && absint($parts['id'])) {
183
+				$entity->_add_relation_to(
184
+					$parts['id'],
185
+					$relationName
186
+				);
187
+			}
188
+		}
189
+	}
190
+
191
+
192
+	/**
193
+	 * @param EE_Ticket  $ticket_entity
194
+	 * @param EEM_Ticket $ticket_model
195
+	 * @throws EE_Error
196
+	 * @throws InvalidArgumentException
197
+	 * @throws InvalidDataTypeException
198
+	 * @throws InvalidInterfaceException
199
+	 * @throws ReflectionException
200
+	 * @since $VID:$
201
+	 */
202
+	public static function addDefaultPrices(EE_Ticket $ticket_entity, EEM_Ticket $ticket_model)
203
+	{
204
+		/** @var DefaultPrices $default_prices */
205
+		$default_prices = LoaderFactory::getLoader()->getShared(
206
+			'EventEspresso\core\domain\services\admin\entities\DefaultPrices'
207
+		);
208
+		$default_prices->create($ticket_entity);
209
+	}
210 210
 }
Please login to merge, or discard this patch.
core/domain/services/admin/entities/DefaultEntityGeneratorInterface.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -17,12 +17,12 @@
 block discarded – undo
17 17
 interface DefaultEntityGeneratorInterface
18 18
 {
19 19
 
20
-    /**
21
-     * @param EE_Base_Class $entity
22
-     * @return EE_Base_Class[]
23
-     * @throws EE_Error
24
-     * @throws ReflectionException
25
-     * @since $VID:$
26
-     */
27
-    public function create(EE_Base_Class $entity);
20
+	/**
21
+	 * @param EE_Base_Class $entity
22
+	 * @return EE_Base_Class[]
23
+	 * @throws EE_Error
24
+	 * @throws ReflectionException
25
+	 * @since $VID:$
26
+	 */
27
+	public function create(EE_Base_Class $entity);
28 28
 }
Please login to merge, or discard this patch.
core/domain/services/admin/entities/DefaultDatetimes.php 2 patches
Indentation   +48 added lines, -48 removed lines patch added patch discarded remove patch
@@ -21,56 +21,56 @@
 block discarded – undo
21 21
 class DefaultDatetimes implements DefaultEntityGeneratorInterface
22 22
 {
23 23
 
24
-    /**
25
-     * @var DefaultTickets $default_tickets
26
-     */
27
-    protected $default_tickets;
24
+	/**
25
+	 * @var DefaultTickets $default_tickets
26
+	 */
27
+	protected $default_tickets;
28 28
 
29
-    /**
30
-     * @var EEM_Datetime $datetime_model
31
-     */
32
-    protected $datetime_model;
29
+	/**
30
+	 * @var EEM_Datetime $datetime_model
31
+	 */
32
+	protected $datetime_model;
33 33
 
34
-    /**
35
-     * @param DefaultTickets $default_tickets
36
-     * @param EEM_Datetime $datetime_model
37
-     */
38
-    public function __construct(DefaultTickets $default_tickets, EEM_Datetime $datetime_model)
39
-    {
40
-        $this->default_tickets = $default_tickets;
41
-        $this->datetime_model = $datetime_model;
42
-    }
34
+	/**
35
+	 * @param DefaultTickets $default_tickets
36
+	 * @param EEM_Datetime $datetime_model
37
+	 */
38
+	public function __construct(DefaultTickets $default_tickets, EEM_Datetime $datetime_model)
39
+	{
40
+		$this->default_tickets = $default_tickets;
41
+		$this->datetime_model = $datetime_model;
42
+	}
43 43
 
44 44
 
45
-    /**
46
-     * @param EE_Event|EE_Base_Class $entity
47
-     * @return EE_Datetime[]
48
-     * @throws EE_Error
49
-     * @throws InvalidEntityException
50
-     * @throws ReflectionException
51
-     * @since $VID:$
52
-     */
53
-    public function create(EE_Base_Class $entity)
54
-    {
55
-        if (! $entity instanceof EE_Event) {
56
-            throw new InvalidEntityException($entity, 'EE_Event');
57
-        }
58
-        $default_dates = [];
59
-        $blank_dates = $this->datetime_model->create_new_blank_datetime();
60
-        if (is_array($blank_dates)) {
61
-            foreach ($blank_dates as $blank_date) {
62
-                if (! $blank_date instanceof EE_Datetime) {
63
-                    throw new InvalidEntityException($blank_date, 'EE_Datetime');
64
-                }
65
-                // clone date, strip out ID, then save to get a new ID
66
-                $default_date = clone $blank_date;
67
-                $default_date->set('DTT_ID', null);
68
-                $default_date->save();
69
-                $default_date->_add_relation_to($entity->ID(), 'Event');
70
-                $this->default_tickets->create($default_date);
71
-                $default_dates[ $default_date->ID() ] = $default_date;
72
-            }
73
-        }
74
-        return $default_dates;
75
-    }
45
+	/**
46
+	 * @param EE_Event|EE_Base_Class $entity
47
+	 * @return EE_Datetime[]
48
+	 * @throws EE_Error
49
+	 * @throws InvalidEntityException
50
+	 * @throws ReflectionException
51
+	 * @since $VID:$
52
+	 */
53
+	public function create(EE_Base_Class $entity)
54
+	{
55
+		if (! $entity instanceof EE_Event) {
56
+			throw new InvalidEntityException($entity, 'EE_Event');
57
+		}
58
+		$default_dates = [];
59
+		$blank_dates = $this->datetime_model->create_new_blank_datetime();
60
+		if (is_array($blank_dates)) {
61
+			foreach ($blank_dates as $blank_date) {
62
+				if (! $blank_date instanceof EE_Datetime) {
63
+					throw new InvalidEntityException($blank_date, 'EE_Datetime');
64
+				}
65
+				// clone date, strip out ID, then save to get a new ID
66
+				$default_date = clone $blank_date;
67
+				$default_date->set('DTT_ID', null);
68
+				$default_date->save();
69
+				$default_date->_add_relation_to($entity->ID(), 'Event');
70
+				$this->default_tickets->create($default_date);
71
+				$default_dates[ $default_date->ID() ] = $default_date;
72
+			}
73
+		}
74
+		return $default_dates;
75
+	}
76 76
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -52,14 +52,14 @@  discard block
 block discarded – undo
52 52
      */
53 53
     public function create(EE_Base_Class $entity)
54 54
     {
55
-        if (! $entity instanceof EE_Event) {
55
+        if ( ! $entity instanceof EE_Event) {
56 56
             throw new InvalidEntityException($entity, 'EE_Event');
57 57
         }
58 58
         $default_dates = [];
59 59
         $blank_dates = $this->datetime_model->create_new_blank_datetime();
60 60
         if (is_array($blank_dates)) {
61 61
             foreach ($blank_dates as $blank_date) {
62
-                if (! $blank_date instanceof EE_Datetime) {
62
+                if ( ! $blank_date instanceof EE_Datetime) {
63 63
                     throw new InvalidEntityException($blank_date, 'EE_Datetime');
64 64
                 }
65 65
                 // clone date, strip out ID, then save to get a new ID
@@ -68,7 +68,7 @@  discard block
 block discarded – undo
68 68
                 $default_date->save();
69 69
                 $default_date->_add_relation_to($entity->ID(), 'Event');
70 70
                 $this->default_tickets->create($default_date);
71
-                $default_dates[ $default_date->ID() ] = $default_date;
71
+                $default_dates[$default_date->ID()] = $default_date;
72 72
             }
73 73
         }
74 74
         return $default_dates;
Please login to merge, or discard this patch.
core/domain/services/admin/entities/DefaultTickets.php 2 patches
Indentation   +49 added lines, -49 removed lines patch added patch discarded remove patch
@@ -21,58 +21,58 @@
 block discarded – undo
21 21
 class DefaultTickets implements DefaultEntityGeneratorInterface
22 22
 {
23 23
 
24
-    /**
25
-     * @var DefaultPrices $default_prices
26
-     */
27
-    protected $default_prices;
24
+	/**
25
+	 * @var DefaultPrices $default_prices
26
+	 */
27
+	protected $default_prices;
28 28
 
29
-    /**
30
-     * @var EEM_Ticket $ticket_model
31
-     */
32
-    protected $ticket_model;
29
+	/**
30
+	 * @var EEM_Ticket $ticket_model
31
+	 */
32
+	protected $ticket_model;
33 33
 
34 34
 
35
-    /**
36
-     * @param DefaultPrices $default_prices
37
-     * @param EEM_Ticket $ticket_model
38
-     */
39
-    public function __construct(DefaultPrices $default_prices, EEM_Ticket $ticket_model)
40
-    {
41
-        $this->default_prices = $default_prices;
42
-        $this->ticket_model = $ticket_model;
43
-    }
35
+	/**
36
+	 * @param DefaultPrices $default_prices
37
+	 * @param EEM_Ticket $ticket_model
38
+	 */
39
+	public function __construct(DefaultPrices $default_prices, EEM_Ticket $ticket_model)
40
+	{
41
+		$this->default_prices = $default_prices;
42
+		$this->ticket_model = $ticket_model;
43
+	}
44 44
 
45 45
 
46
-    /**
47
-     * @param EE_Datetime|EE_Base_Class $entity
48
-     * @return EE_Ticket[]
49
-     * @throws EE_Error
50
-     * @throws InvalidEntityException
51
-     * @throws ReflectionException
52
-     * @since $VID:$
53
-     */
54
-    public function create(EE_Base_Class $entity)
55
-    {
56
-        if (! $entity instanceof EE_Datetime) {
57
-            throw new InvalidEntityException($entity, 'EE_Datetime');
58
-        }
59
-        $new_tickets = [];
60
-        $default_tickets = $this->ticket_model->get_all_default_tickets();
61
-        if (is_array($default_tickets)) {
62
-            foreach ($default_tickets as $default_ticket) {
63
-                if (! $default_ticket instanceof EE_Ticket) {
64
-                    throw new InvalidEntityException($default_ticket, 'EE_Ticket');
65
-                }
66
-                // clone ticket, strip out ID, then save to get a new ID
67
-                $default_ticket_clone = clone $default_ticket;
68
-                $default_ticket_clone->set('TKT_ID', null);
69
-                $default_ticket_clone->set('TKT_is_default', false);
70
-                $default_ticket_clone->save();
71
-                $default_ticket_clone->_add_relation_to($entity, 'Datetime');
72
-                $this->default_prices->create($default_ticket_clone);
73
-                $new_tickets[ $default_ticket_clone->ID() ] = $default_ticket_clone;
74
-            }
75
-        }
76
-        return $new_tickets;
77
-    }
46
+	/**
47
+	 * @param EE_Datetime|EE_Base_Class $entity
48
+	 * @return EE_Ticket[]
49
+	 * @throws EE_Error
50
+	 * @throws InvalidEntityException
51
+	 * @throws ReflectionException
52
+	 * @since $VID:$
53
+	 */
54
+	public function create(EE_Base_Class $entity)
55
+	{
56
+		if (! $entity instanceof EE_Datetime) {
57
+			throw new InvalidEntityException($entity, 'EE_Datetime');
58
+		}
59
+		$new_tickets = [];
60
+		$default_tickets = $this->ticket_model->get_all_default_tickets();
61
+		if (is_array($default_tickets)) {
62
+			foreach ($default_tickets as $default_ticket) {
63
+				if (! $default_ticket instanceof EE_Ticket) {
64
+					throw new InvalidEntityException($default_ticket, 'EE_Ticket');
65
+				}
66
+				// clone ticket, strip out ID, then save to get a new ID
67
+				$default_ticket_clone = clone $default_ticket;
68
+				$default_ticket_clone->set('TKT_ID', null);
69
+				$default_ticket_clone->set('TKT_is_default', false);
70
+				$default_ticket_clone->save();
71
+				$default_ticket_clone->_add_relation_to($entity, 'Datetime');
72
+				$this->default_prices->create($default_ticket_clone);
73
+				$new_tickets[ $default_ticket_clone->ID() ] = $default_ticket_clone;
74
+			}
75
+		}
76
+		return $new_tickets;
77
+	}
78 78
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -53,14 +53,14 @@  discard block
 block discarded – undo
53 53
      */
54 54
     public function create(EE_Base_Class $entity)
55 55
     {
56
-        if (! $entity instanceof EE_Datetime) {
56
+        if ( ! $entity instanceof EE_Datetime) {
57 57
             throw new InvalidEntityException($entity, 'EE_Datetime');
58 58
         }
59 59
         $new_tickets = [];
60 60
         $default_tickets = $this->ticket_model->get_all_default_tickets();
61 61
         if (is_array($default_tickets)) {
62 62
             foreach ($default_tickets as $default_ticket) {
63
-                if (! $default_ticket instanceof EE_Ticket) {
63
+                if ( ! $default_ticket instanceof EE_Ticket) {
64 64
                     throw new InvalidEntityException($default_ticket, 'EE_Ticket');
65 65
                 }
66 66
                 // clone ticket, strip out ID, then save to get a new ID
@@ -70,7 +70,7 @@  discard block
 block discarded – undo
70 70
                 $default_ticket_clone->save();
71 71
                 $default_ticket_clone->_add_relation_to($entity, 'Datetime');
72 72
                 $this->default_prices->create($default_ticket_clone);
73
-                $new_tickets[ $default_ticket_clone->ID() ] = $default_ticket_clone;
73
+                $new_tickets[$default_ticket_clone->ID()] = $default_ticket_clone;
74 74
             }
75 75
         }
76 76
         return $new_tickets;
Please login to merge, or discard this patch.
core/domain/services/admin/entities/DefaultPrices.php 2 patches
Indentation   +75 added lines, -75 removed lines patch added patch discarded remove patch
@@ -25,85 +25,85 @@
 block discarded – undo
25 25
 class DefaultPrices implements DefaultEntityGeneratorInterface
26 26
 {
27 27
 
28
-    /**
29
-     * @var EEM_Price $price_model
30
-     */
31
-    protected $price_model;
28
+	/**
29
+	 * @var EEM_Price $price_model
30
+	 */
31
+	protected $price_model;
32 32
 
33 33
 
34
-    /**
35
-     * @param EEM_Price      $price_model
36
-     */
37
-    public function __construct(EEM_Price $price_model)
38
-    {
39
-        $this->price_model = $price_model;
40
-    }
34
+	/**
35
+	 * @param EEM_Price      $price_model
36
+	 */
37
+	public function __construct(EEM_Price $price_model)
38
+	{
39
+		$this->price_model = $price_model;
40
+	}
41 41
 
42 42
 
43
-    /**
44
-     * @param EE_Ticket|EE_Base_Class $entity
45
-     * @return EE_Price[]
46
-     * @throws EE_Error
47
-     * @throws InvalidInterfaceException
48
-     * @throws ReflectionException
49
-     * @since $VID:$
50
-     */
51
-    public function create(EE_Base_Class $entity)
52
-    {
53
-        if (! $entity instanceof EE_Ticket) {
54
-            throw new InvalidEntityException($entity, 'EE_Ticket');
55
-        }
56
-        $new_prices = [];
57
-        $has_base_price = false;
58
-        $default_prices = $this->price_model->get_all_default_prices();
59
-        if (is_array($default_prices)) {
60
-            foreach ($default_prices as $default_price) {
61
-                if (! $default_price instanceof EE_Price) {
62
-                    throw new InvalidEntityException($default_price, 'EE_Price');
63
-                }
64
-                $default_price_clone = clone $default_price;
65
-                $default_price_clone->set('PRC_ID', null);
66
-                $default_price_clone->set('PRC_is_default', false);
67
-                $default_price_clone->save();
68
-                $default_price_clone->_add_relation_to($entity, 'Ticket');
69
-                // verify that a base price has been set
70
-                $has_base_price = $default_price_clone->is_base_price() ? true : $has_base_price;
71
-                $new_prices[ $default_price_clone->ID() ] = $default_price_clone;
72
-            }
73
-        }
74
-        if (! $has_base_price) {
75
-            $new_base_price = $this->createNewBasePrice($entity);
76
-            $new_prices[ $new_base_price->ID() ] = $new_base_price;
77
-        }
78
-        return $new_prices;
79
-    }
43
+	/**
44
+	 * @param EE_Ticket|EE_Base_Class $entity
45
+	 * @return EE_Price[]
46
+	 * @throws EE_Error
47
+	 * @throws InvalidInterfaceException
48
+	 * @throws ReflectionException
49
+	 * @since $VID:$
50
+	 */
51
+	public function create(EE_Base_Class $entity)
52
+	{
53
+		if (! $entity instanceof EE_Ticket) {
54
+			throw new InvalidEntityException($entity, 'EE_Ticket');
55
+		}
56
+		$new_prices = [];
57
+		$has_base_price = false;
58
+		$default_prices = $this->price_model->get_all_default_prices();
59
+		if (is_array($default_prices)) {
60
+			foreach ($default_prices as $default_price) {
61
+				if (! $default_price instanceof EE_Price) {
62
+					throw new InvalidEntityException($default_price, 'EE_Price');
63
+				}
64
+				$default_price_clone = clone $default_price;
65
+				$default_price_clone->set('PRC_ID', null);
66
+				$default_price_clone->set('PRC_is_default', false);
67
+				$default_price_clone->save();
68
+				$default_price_clone->_add_relation_to($entity, 'Ticket');
69
+				// verify that a base price has been set
70
+				$has_base_price = $default_price_clone->is_base_price() ? true : $has_base_price;
71
+				$new_prices[ $default_price_clone->ID() ] = $default_price_clone;
72
+			}
73
+		}
74
+		if (! $has_base_price) {
75
+			$new_base_price = $this->createNewBasePrice($entity);
76
+			$new_prices[ $new_base_price->ID() ] = $new_base_price;
77
+		}
78
+		return $new_prices;
79
+	}
80 80
 
81 81
 
82
-    /**
83
-     * @param EE_Ticket $ticket
84
-     * @return EE_Price
85
-     * @throws EE_Error
86
-     * @throws ReflectionException
87
-     * @since $VID:$
88
-     */
89
-    protected function createNewBasePrice(EE_Ticket $ticket)
90
-    {
91
-        $new_base_price = $this->price_model->get_new_price();
92
-        $base_price_type = $this->price_model->get_one([
93
-            'PRT_ID' => EEM_Price_Type::base_type_base_price
94
-        ]);
95
-        if (! $base_price_type instanceof EE_Price_Type) {
96
-            throw new RuntimeException(
97
-                esc_html__(
98
-                    'A valid base price type could not be retrieved from the database.',
99
-                    'event_espresso'
100
-                )
101
-            );
102
-        }
103
-        $new_base_price->set('PRT_ID', $base_price_type->ID());
104
-        $new_base_price->set('PRC_is_default', false);
105
-        $new_base_price->save();
106
-        $new_base_price->_add_relation_to($ticket, 'Ticket');
107
-        return $new_base_price;
108
-    }
82
+	/**
83
+	 * @param EE_Ticket $ticket
84
+	 * @return EE_Price
85
+	 * @throws EE_Error
86
+	 * @throws ReflectionException
87
+	 * @since $VID:$
88
+	 */
89
+	protected function createNewBasePrice(EE_Ticket $ticket)
90
+	{
91
+		$new_base_price = $this->price_model->get_new_price();
92
+		$base_price_type = $this->price_model->get_one([
93
+			'PRT_ID' => EEM_Price_Type::base_type_base_price
94
+		]);
95
+		if (! $base_price_type instanceof EE_Price_Type) {
96
+			throw new RuntimeException(
97
+				esc_html__(
98
+					'A valid base price type could not be retrieved from the database.',
99
+					'event_espresso'
100
+				)
101
+			);
102
+		}
103
+		$new_base_price->set('PRT_ID', $base_price_type->ID());
104
+		$new_base_price->set('PRC_is_default', false);
105
+		$new_base_price->save();
106
+		$new_base_price->_add_relation_to($ticket, 'Ticket');
107
+		return $new_base_price;
108
+	}
109 109
 }
Please login to merge, or discard this patch.
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -50,7 +50,7 @@  discard block
 block discarded – undo
50 50
      */
51 51
     public function create(EE_Base_Class $entity)
52 52
     {
53
-        if (! $entity instanceof EE_Ticket) {
53
+        if ( ! $entity instanceof EE_Ticket) {
54 54
             throw new InvalidEntityException($entity, 'EE_Ticket');
55 55
         }
56 56
         $new_prices = [];
@@ -58,7 +58,7 @@  discard block
 block discarded – undo
58 58
         $default_prices = $this->price_model->get_all_default_prices();
59 59
         if (is_array($default_prices)) {
60 60
             foreach ($default_prices as $default_price) {
61
-                if (! $default_price instanceof EE_Price) {
61
+                if ( ! $default_price instanceof EE_Price) {
62 62
                     throw new InvalidEntityException($default_price, 'EE_Price');
63 63
                 }
64 64
                 $default_price_clone = clone $default_price;
@@ -68,12 +68,12 @@  discard block
 block discarded – undo
68 68
                 $default_price_clone->_add_relation_to($entity, 'Ticket');
69 69
                 // verify that a base price has been set
70 70
                 $has_base_price = $default_price_clone->is_base_price() ? true : $has_base_price;
71
-                $new_prices[ $default_price_clone->ID() ] = $default_price_clone;
71
+                $new_prices[$default_price_clone->ID()] = $default_price_clone;
72 72
             }
73 73
         }
74
-        if (! $has_base_price) {
74
+        if ( ! $has_base_price) {
75 75
             $new_base_price = $this->createNewBasePrice($entity);
76
-            $new_prices[ $new_base_price->ID() ] = $new_base_price;
76
+            $new_prices[$new_base_price->ID()] = $new_base_price;
77 77
         }
78 78
         return $new_prices;
79 79
     }
@@ -92,7 +92,7 @@  discard block
 block discarded – undo
92 92
         $base_price_type = $this->price_model->get_one([
93 93
             'PRT_ID' => EEM_Price_Type::base_type_base_price
94 94
         ]);
95
-        if (! $base_price_type instanceof EE_Price_Type) {
95
+        if ( ! $base_price_type instanceof EE_Price_Type) {
96 96
             throw new RuntimeException(
97 97
                 esc_html__(
98 98
                     'A valid base price type could not be retrieved from the database.',
Please login to merge, or discard this patch.
core/domain/services/admin/events/editor/NewEventDefaultEntities.php 2 patches
Indentation   +57 added lines, -57 removed lines patch added patch discarded remove patch
@@ -26,67 +26,67 @@
 block discarded – undo
26 26
 class NewEventDefaultEntities extends EventEditorData
27 27
 {
28 28
 
29
-    /**
30
-     * @var DefaultDatetimes $default_datetime
31
-     */
32
-    protected $default_datetime;
29
+	/**
30
+	 * @var DefaultDatetimes $default_datetime
31
+	 */
32
+	protected $default_datetime;
33 33
 
34 34
 
35 35
 
36
-    /**
37
-     * NewEventDefaultEntities constructor.
38
-     *
39
-     * @param EEM_Datetime     $datetime_model
40
-     * @param EEM_Event        $event_model
41
-     * @param EEM_Price        $price_model
42
-     * @param EEM_Price_Type   $price_type_model
43
-     * @param EEM_Ticket       $ticket_model
44
-     * @param DefaultDatetimes $default_datetime
45
-     */
46
-    public function __construct(
47
-        EEM_Datetime $datetime_model,
48
-        EEM_Event $event_model,
49
-        EEM_Price $price_model,
50
-        EEM_Price_Type $price_type_model,
51
-        EEM_Ticket $ticket_model,
52
-        DefaultDatetimes $default_datetime
53
-    ) {
54
-        $this->default_datetime = $default_datetime;
55
-        parent::__construct(
56
-            $datetime_model,
57
-            $event_model,
58
-            $price_model,
59
-            $price_type_model,
60
-            $ticket_model
61
-        );
62
-    }
36
+	/**
37
+	 * NewEventDefaultEntities constructor.
38
+	 *
39
+	 * @param EEM_Datetime     $datetime_model
40
+	 * @param EEM_Event        $event_model
41
+	 * @param EEM_Price        $price_model
42
+	 * @param EEM_Price_Type   $price_type_model
43
+	 * @param EEM_Ticket       $ticket_model
44
+	 * @param DefaultDatetimes $default_datetime
45
+	 */
46
+	public function __construct(
47
+		EEM_Datetime $datetime_model,
48
+		EEM_Event $event_model,
49
+		EEM_Price $price_model,
50
+		EEM_Price_Type $price_type_model,
51
+		EEM_Ticket $ticket_model,
52
+		DefaultDatetimes $default_datetime
53
+	) {
54
+		$this->default_datetime = $default_datetime;
55
+		parent::__construct(
56
+			$datetime_model,
57
+			$event_model,
58
+			$price_model,
59
+			$price_type_model,
60
+			$ticket_model
61
+		);
62
+	}
63 63
 
64 64
 
65
-    /**
66
-     * @param int $eventId
67
-     * @return EE_Datetime[]
68
-     * @throws EE_Error
69
-     * @throws InvalidArgumentException
70
-     * @throws InvalidEntityException
71
-     * @throws ReflectionException
72
-     * @since $VID:$
73
-     */
74
-    public function getData($eventId)
75
-    {
65
+	/**
66
+	 * @param int $eventId
67
+	 * @return EE_Datetime[]
68
+	 * @throws EE_Error
69
+	 * @throws InvalidArgumentException
70
+	 * @throws InvalidEntityException
71
+	 * @throws ReflectionException
72
+	 * @since $VID:$
73
+	 */
74
+	public function getData($eventId)
75
+	{
76 76
 
77
-        $EVT_ID = absint($eventId);
78
-        if ($EVT_ID < 1) {
79
-            throw new InvalidArgumentException(
80
-                esc_html__(
81
-                    'A missing or invalid event ID was received.',
82
-                    'event_espresso'
83
-                )
84
-            );
85
-        }
86
-        $event = $this->event_model->get_one_by_ID($EVT_ID);
87
-        if (! $event instanceof EE_Event) {
88
-            throw new InvalidEntityException($event, 'EE_Event');
89
-        }
90
-        return $this->default_datetime->create($event);
91
-    }
77
+		$EVT_ID = absint($eventId);
78
+		if ($EVT_ID < 1) {
79
+			throw new InvalidArgumentException(
80
+				esc_html__(
81
+					'A missing or invalid event ID was received.',
82
+					'event_espresso'
83
+				)
84
+			);
85
+		}
86
+		$event = $this->event_model->get_one_by_ID($EVT_ID);
87
+		if (! $event instanceof EE_Event) {
88
+			throw new InvalidEntityException($event, 'EE_Event');
89
+		}
90
+		return $this->default_datetime->create($event);
91
+	}
92 92
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -84,7 +84,7 @@
 block discarded – undo
84 84
             );
85 85
         }
86 86
         $event = $this->event_model->get_one_by_ID($EVT_ID);
87
-        if (! $event instanceof EE_Event) {
87
+        if ( ! $event instanceof EE_Event) {
88 88
             throw new InvalidEntityException($event, 'EE_Event');
89 89
         }
90 90
         return $this->default_datetime->create($event);
Please login to merge, or discard this patch.
core/domain/services/admin/events/editor/EventEditorData.php 1 patch
Indentation   +42 added lines, -42 removed lines patch added patch discarded remove patch
@@ -19,52 +19,52 @@
 block discarded – undo
19 19
 abstract class EventEditorData implements EventEditorDataInterface
20 20
 {
21 21
 
22
-    /**
23
-     * @var EEM_Datetime $datetime_model
24
-     */
25
-    protected $datetime_model;
22
+	/**
23
+	 * @var EEM_Datetime $datetime_model
24
+	 */
25
+	protected $datetime_model;
26 26
 
27
-    /**
28
-     * @var EEM_Event $event_model
29
-     */
30
-    protected $event_model;
27
+	/**
28
+	 * @var EEM_Event $event_model
29
+	 */
30
+	protected $event_model;
31 31
 
32
-    /**
33
-     * @var EEM_Price $price_model
34
-     */
35
-    protected $price_model;
32
+	/**
33
+	 * @var EEM_Price $price_model
34
+	 */
35
+	protected $price_model;
36 36
 
37
-    /**
38
-     * @var EEM_Price_Type $price_type_model
39
-     */
40
-    protected $price_type_model;
37
+	/**
38
+	 * @var EEM_Price_Type $price_type_model
39
+	 */
40
+	protected $price_type_model;
41 41
 
42
-    /**
43
-     * @var EEM_Ticket $ticket_model
44
-     */
45
-    protected $ticket_model;
42
+	/**
43
+	 * @var EEM_Ticket $ticket_model
44
+	 */
45
+	protected $ticket_model;
46 46
 
47 47
 
48
-    /**
49
-     * AdvancedEditorAdminForm constructor.
50
-     *
51
-     * @param EEM_Datetime $datetime_model
52
-     * @param EEM_Event $event_model
53
-     * @param EEM_Price    $price_model
54
-     * @param EEM_Price_Type $price_type_model
55
-     * @param EEM_Ticket   $ticket_model
56
-     */
57
-    public function __construct(
58
-        EEM_Datetime $datetime_model,
59
-        EEM_Event $event_model,
60
-        EEM_Price $price_model,
61
-        EEM_Price_Type $price_type_model,
62
-        EEM_Ticket $ticket_model
63
-    ) {
64
-        $this->datetime_model = $datetime_model;
65
-        $this->event_model = $event_model;
66
-        $this->price_model = $price_model;
67
-        $this->price_type_model = $price_type_model;
68
-        $this->ticket_model = $ticket_model;
69
-    }
48
+	/**
49
+	 * AdvancedEditorAdminForm constructor.
50
+	 *
51
+	 * @param EEM_Datetime $datetime_model
52
+	 * @param EEM_Event $event_model
53
+	 * @param EEM_Price    $price_model
54
+	 * @param EEM_Price_Type $price_type_model
55
+	 * @param EEM_Ticket   $ticket_model
56
+	 */
57
+	public function __construct(
58
+		EEM_Datetime $datetime_model,
59
+		EEM_Event $event_model,
60
+		EEM_Price $price_model,
61
+		EEM_Price_Type $price_type_model,
62
+		EEM_Ticket $ticket_model
63
+	) {
64
+		$this->datetime_model = $datetime_model;
65
+		$this->event_model = $event_model;
66
+		$this->price_model = $price_model;
67
+		$this->price_type_model = $price_type_model;
68
+		$this->ticket_model = $ticket_model;
69
+	}
70 70
 }
Please login to merge, or discard this patch.