PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / trunk
WPML Multilingual & Multicurrency for WooCommerce vtrunk
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