# hello-plus/1.7.0/modules/forms/classes/action-base.php

Hello Plus, version 1.7.0. 37 lines.

- Page: https://pluginprobe.com/plugins/hello-plus/1.7.0/code/modules/forms/classes/action-base.php
- Raw: https://pluginprobe.com/plugins/hello-plus/1.7.0/raw/modules/forms/classes/action-base.php
- Modified: 2025-03-17T14:21:06+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/hello-plus/1.7.0/code/modules/forms/classes/action-base.php#L10-L20`.

```php
<?php
namespace HelloPlus\Modules\Forms\Classes;

use HelloPlus\Modules\Forms\Components\Ajax_Handler;
use HelloPlus\Modules\Forms\Widgets\Ehp_Form;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

abstract class Action_Base {

	abstract public function get_name(): string;

	abstract public function get_label(): string;

	public function get_id() {
		return $this->get_name();
	}

	/**
	 * @param Form_Record  $record
	 * @param Ajax_Handler $ajax_handler
	 */
	abstract public function run( Form_Record $record, Ajax_Handler $ajax_handler );

	/**
	 * @param Ehp_Form $widget
	 */
	abstract public function register_settings_section( $widget );

	/**
	 * @param array $element
	 */
	abstract public function on_export( $element );
}

```
