45 lines
1.3 KiB
PHP
45 lines
1.3 KiB
PHP
|
<?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;
|
||
|
}
|
||
|
}
|