Automattic\WooCommerce\Utilities
ArrayUtil::get_selector_callback()
Helper function to generate a callback which can be executed on an array to select a value from each item.
Метод класса: ArrayUtil{}
Хуков нет.
Возвращает
\Closure
. Callback to select the value.
Использование
$result = ArrayUtil::get_selector_callback( $selector_name, $selector_type ): \Closure;
- $selector_name(строка) (обязательный)
- Field/property/method name to select.
- $selector_type(int)
- Selector type.
По умолчанию: self::SELECT_BY_AUTO
Код ArrayUtil::get_selector_callback() ArrayUtil::get selector callback WC 8.3.1
private static function get_selector_callback( string $selector_name, int $selector_type = self::SELECT_BY_AUTO ): \Closure { if ( self::SELECT_BY_OBJECT_METHOD === $selector_type ) { $callback = function( $item ) use ( $selector_name ) { return $item->$selector_name(); }; } elseif ( self::SELECT_BY_OBJECT_PROPERTY === $selector_type ) { $callback = function( $item ) use ( $selector_name ) { return $item->$selector_name; }; } elseif ( self::SELECT_BY_ARRAY_KEY === $selector_type ) { $callback = function( $item ) use ( $selector_name ) { return $item[ $selector_name ]; }; } else { $callback = function( $item ) use ( $selector_name ) { if ( is_array( $item ) ) { return $item[ $selector_name ]; } elseif ( method_exists( $item, $selector_name ) ) { return $item->$selector_name(); } else { return $item->$selector_name; } }; } return $callback; }