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 / vendor / otgs / installer / includes / utilities / Collect / Support / Macroable.php
woocommerce-multilingual / vendor / otgs / installer / includes / utilities / Collect / Support Last commit date
Macroable.php 1 month ago
Macroable.php
42 lines
1 <?php
2
3 namespace OTGS\Installer\Collect\Support;
4
5 use Closure;
6 use BadMethodCallException;
7
8 trait Macroable {
9 protected static $macros = [];
10
11 public static function macro( $name, callable $macro ) {
12 static::$macros[ $name ] = $macro;
13 }
14
15 public static function hasMacro( $name ) {
16 return isset( static::$macros[ $name ] );
17 }
18
19 public static function __callStatic( $method, $parameters ) {
20 if ( ! static::hasMacro( $method ) ) {
21 throw new BadMethodCallException( "Method {$method} does not exist." );
22 }
23
24 if ( static::$macros[ $method ] instanceof Closure ) {
25 return call_user_func_array( Closure::bind( static::$macros[ $method ], null, static::class ), $parameters );
26 }
27
28 return call_user_func_array( static::$macros[ $method ], $parameters );
29 }
30
31 public function __call( $method, $parameters ) {
32 if ( ! static::hasMacro( $method ) ) {
33 throw new BadMethodCallException( "Method {$method} does not exist." );
34 }
35
36 if ( static::$macros[ $method ] instanceof Closure ) {
37 return call_user_func_array( static::$macros[ $method ]->bindTo( $this, static::class ), $parameters );
38 }
39
40 return call_user_func_array( static::$macros[ $method ], $parameters );
41 }
42 }