PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / 5.5.7
WPML Multilingual & Multicurrency for WooCommerce v5.5.7
5.5.7 5.3.8 5.3.9 5.4.3 5.4.4 5.4.5 5.5.1 5.5.1.1 5.5.2.2 5.5.2.3 5.5.3 5.5.3.1 5.5.4 5.5.5 5.5.6 trunk 0.9 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.2 2.3 2.3.1 2.3.2 3.0 3.0.1 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6 3.6.1 3.6.10 3.6.11 3.6.2 3.6.3 3.6.4 3.6.5 3.6.5.1 3.6.6 3.6.7 3.6.8 3.6.9 3.7 3.7.1 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.15 3.7.16 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.9.0 3.9.1 3.9.1.1 3.9.2 3.9.3 3.9.4 3.9.5 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.11.2 4.11.3.2 4.11.5 4.11.6 4.12.1 4.12.4 4.12.5 4.12.6 4.2.0 4.2.0.1 4.2.1 4.2.1.1 4.2.10 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.8 4.2.8.1 4.2.9 4.3.0 4.3.1 4.3.2 4.3.2.1 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.0 4.4.1 4.4.2 4.4.2.1 4.5.0 4.6.0 4.6.1 4.6.2 4.6.2.1 4.6.3 4.6.5 4.6.6 4.6.7 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.9.0 4.9.1 5.0.1 5.0.2 5.1.1 5.1.2 5.1.3 5.2.0 5.2.1 5.3.2 5.3.3.1 5.3.4 5.3.5 5.3.6 5.3.7
woocommerce-multilingual / addons / wpml-dependencies / lib / classes / container / class-wpml-container.php
woocommerce-multilingual / addons / wpml-dependencies / lib / classes / container Last commit date
class-config.php 4 years ago class-wpml-container.php 1 month ago functions.php 1 month ago
class-wpml-container.php
63 lines
1 <?php
2
3 namespace WPML\Container;
4
5 use WPML\Auryn\Injector as AurynInjector;
6
7 class Container {
8
9 private static $instance = null;
10
11 private $injector = null;
12
13 private function __construct() {
14 $this->injector = new AurynInjector();
15 }
16
17 public static function get_instance() {
18 if ( ! self::$instance ) {
19 self::$instance = new Container();
20 }
21
22 return self::$instance;
23 }
24
25 public static function share( array $names_or_instances ) {
26 $injector = self::get_instance()->injector;
27
28 wpml_collect( $names_or_instances )->each(
29 function ( $name_or_instance ) use ( $injector ) {
30 $injector->share( $name_or_instance );
31 }
32 );
33 }
34
35 public static function alias( array $aliases ) {
36 $injector = self::get_instance()->injector;
37
38 wpml_collect( $aliases )->each(
39 function ( $alias, $original ) use ( $injector ) {
40 $injector->alias( $original, $alias );
41 }
42 );
43 }
44
45 public static function delegate( array $delegated ) {
46 $injector = self::get_instance()->injector;
47
48 wpml_collect( $delegated )->each(
49 function ( $instantiator, $class_name ) use ( $injector ) {
50 $injector->delegate( $class_name, $instantiator );
51 }
52 );
53 }
54
55 public static function make( $class_name, array $args = array() ) {
56 return self::get_instance()->injector->make( $class_name, $args );
57 }
58
59 public static function execute( $callableOrMethodStr, array $args = [] ) {
60 return self::get_instance()->injector->execute( $callableOrMethodStr, $args );
61 }
62 }
63