mirror of
https://github.com/proelements/proelements.git
synced 2026-04-20 19:12:15 +00:00
v3.33.1
This commit is contained in:
47
core/integrations/actions/action-base.php
Normal file
47
core/integrations/actions/action-base.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace ElementorPro\Core\Integrations\Actions;
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit; // Exit if accessed directly
|
||||
}
|
||||
|
||||
abstract class Action_Base {
|
||||
|
||||
/**
|
||||
* Validate a payload.
|
||||
*
|
||||
* @param mixed $payload - Payload object instance.
|
||||
*
|
||||
* @throws \ElementorPro\Core\Integrations\Exceptions\Action_Validation_Failed_Exception
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
abstract public function validate( $payload );
|
||||
|
||||
/**
|
||||
* Apply the action.
|
||||
*
|
||||
* @param mixed $payload - Payload object instance.
|
||||
*
|
||||
* @throws \ElementorPro\Core\Integrations\Exceptions\Action_Failed_Exception
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
abstract public function apply( $payload );
|
||||
|
||||
/**
|
||||
* Run the action.
|
||||
*
|
||||
* @param mixed $payload - Payload object instance.
|
||||
*
|
||||
* @throws \ElementorPro\Core\Integrations\Exceptions\Action_Validation_Failed_Exception
|
||||
* @throws \ElementorPro\Core\Integrations\Exceptions\Action_Failed_Exception
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run( $payload ) {
|
||||
$this->validate( $payload );
|
||||
$this->apply( $payload );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user