gl-website-deployer/admin/phpMyAdmin/libraries/classes/Properties/PropertyItem.php

45 lines
1.3 KiB
PHP
Raw Normal View History

2024-11-23 20:45:29 +01:00
<?php
/**
* The top-level class of the object-oriented properties system.
*/
declare(strict_types=1);
namespace PhpMyAdmin\Properties;
/**
* Provides an interface for Property classes
*/
abstract class PropertyItem
{
/**
* Returns the property type ( either "Options", or "Plugin" ).
*
* @return string
*/
abstract public function getPropertyType();
/**
* Returns the property item type of either an instance of
* - PhpMyAdmin\Properties\Options\OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
* - PhpMyAdmin\Properties\Options\OptionsPropertyGroup ( "root", "main" or "subgroup" )
* - PhpMyAdmin\Properties\Plugins\PluginPropertyItem ( "export", "import", "transformations" )
*
* @return string
*/
abstract public function getItemType();
/**
* Only overwritten in the PhpMyAdmin\Properties\Options\OptionsPropertyGroup class:
* Used to tell whether we can use the current item as a group by calling
* the addProperty() or removeProperty() methods, which are not available
* for simple PhpMyAdmin\Properties\Options\OptionsPropertyOneItem subclasses.
*
* @return object|null
*/
public function getGroup()
{
return null;
}
}