Files
KantSites/src/Plugin/PluginTask.php
T
kantarciandClaude Opus 5.5 9825bac3b3
CMS quality / php (8.2) (push) Canceled after 0s
CMS quality / php (8.4) (push) Canceled after 0s
CMS quality / browser (push) Canceled after 0s
CMS quality / mysql (push) Canceled after 0s
Let plugins run their own PHP code
A plugin can now bring a plugin.php that registers hooks, scheduled tasks, its own tables, public pages and admin screens. Failures stay contained to the plugin; a form on a plugin page can be submitted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 18:56:14 +01:00

45 lines
847 B
PHP

<?php
namespace App\Plugin;
use App\Ops\Tasks\Task;
/** Eine Aufgabe, die ein Plugin angemeldet hat, im Vertrag des Aufgabenplans. */
final class PluginTask implements Task
{
/** @param callable(): string $callback */
public function __construct(
private string $name,
private string $label,
private string $explanation,
private int $interval,
private $callback,
) {
}
public function name(): string
{
return $this->name;
}
public function label(): string
{
return $this->label;
}
public function explanation(): string
{
return $this->explanation;
}
public function interval(): int
{
return $this->interval;
}
public function run(): string
{
return (string) ($this->callback)();
}
}