Select Git revision
TestFunctions.php
-
Grzegorz Rola authoredGrzegorz Rola authored
Field.php 2.34 KiB
<?php
namespace WPDesk\Forms;
/**
* The idea is that from the moment the factory returns this interface it's values cannot be changed.
* And that is why here are only the getters.
*
* The: Validation, Serialization, Sanitization features are provided trough delegated classes (get_validator, get_serializer ...)
*
* @package WPDesk\Forms
*/
interface Field {
public function get_name(): string;
/** @return mixed */
public function get_default_value();
public function get_template_name(): string;
/** When this field is used on form this field will force it's own template. */
public function should_override_form_template(): bool;
/** HTML label. */
public function get_label(): string;
public function has_label(): bool;
public function get_description(): string;
/** Additional field description that should be shown in optional hover tip. */
public function get_description_tip(): string;
public function has_description_tip(): bool;
public function has_description(): bool;
public function is_readonly(): bool;
public function is_disabled(): bool;
public function get_id(): string;
public function is_required(): bool;
public function has_placeholder(): bool;
public function get_placeholder(): string;
/**
* @param string[] $except
*
* @return string[] name->value
*/
public function get_attributes( array $except = [] ): array;
public function get_attribute( string $name, string $default = null ): string;
public function is_attribute_set( string $name ): bool;
/** @return mixed */
public function get_meta_value( string $name );
public function is_meta_value_set( string $name ): bool;
public function get_classes(): string;
public function get_type(): string;
public function has_classes(): bool;
public function is_class_set( string $name ): bool;
public function has_data(): bool;
/** @return array<string|int> */
public function get_data(): array;
public function add_data( string $data_name, string $data_value ): Field;
public function unset_data( string $data_name ): Field;
/** @return mixed */
public function get_possible_values();
public function is_multiple(): bool;
public function get_validator(): Validator;
public function get_sanitizer(): Sanitizer;
public function get_serializer(): Serializer;
public function has_serializer(): bool;
public function get_priority(): int;
}