Automattic\WooCommerce\Internal\BatchProcessing
BatchProcessingController::get_processor_instance
Get an instance of a processor given its class name.
Method of the class: BatchProcessingController{}
Hooks from the method
Returns
BatchProcessorInterface. Instance of batch processor for the given class.
Usage
// private - for code of main (parent) class only $result = $this->get_processor_instance( $processor_class_name ): BatchProcessorInterface;
- $processor_class_name(string) (required)
- Full class name of the batch processor.
BatchProcessingController::get_processor_instance() BatchProcessingController::get processor instance code WC 10.8.1
private function get_processor_instance( string $processor_class_name ): BatchProcessorInterface {
$container = wc_get_container();
$processor = $container->has( $processor_class_name ) ? $container->get( $processor_class_name ) : null;
/**
* Filters the instance of a processor for a given class name.
*
* @param object|null $processor The processor instance given by the dependency injection container, or null if none was obtained.
* @param string $processor_class_name The full class name of the processor.
* @return BatchProcessorInterface|null The actual processor instance to use, or null if none could be retrieved.
*
* @since 6.8.0.
*/
$processor = apply_filters( 'woocommerce_get_batch_processor', $processor, $processor_class_name );
if ( ! isset( $processor ) && class_exists( $processor_class_name ) ) {
// This is a fallback for when the batch processor is not registered in the container.
$processor = new $processor_class_name();
}
if ( ! is_a( $processor, BatchProcessorInterface::class ) ) {
throw new \Exception( "Unable to initialize batch processor instance for $processor_class_name" );
}
return $processor;
}