35 lines
620 B
PHP
35 lines
620 B
PHP
|
|
<?php
|
||
|
|
|
||
|
|
declare(strict_types=1);
|
||
|
|
|
||
|
|
namespace com\example\PluginNamespace;
|
||
|
|
|
||
|
|
use Drupal\Component\Plugin\Attribute\Plugin;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Custom plugin attribute.
|
||
|
|
*/
|
||
|
|
#[\Attribute(\Attribute::TARGET_CLASS)]
|
||
|
|
class CustomPlugin extends Plugin {
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Constructs a CustomPlugin attribute object.
|
||
|
|
*
|
||
|
|
* @param string $id
|
||
|
|
* The attribute class ID.
|
||
|
|
* @param string $title
|
||
|
|
* The title.
|
||
|
|
*/
|
||
|
|
public function __construct(
|
||
|
|
public readonly string $id,
|
||
|
|
public readonly string $title,
|
||
|
|
) {}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Custom plugin attribute.
|
||
|
|
*/
|
||
|
|
#[\Attribute(\Attribute::TARGET_CLASS)]
|
||
|
|
class CustomPlugin2 extends Plugin {}
|