remove need for static get and make methods

This commit is contained in:
Boy132 2025-08-07 10:00:36 +02:00
parent ce665fdec7
commit d02bbe2cea
2 changed files with 10 additions and 10 deletions

View File

@ -320,10 +320,10 @@ class Plugin extends Model implements HasPluginSettings
public function hasSettings(): bool public function hasSettings(): bool
{ {
$class = $this->fullClass(); $class = $this->fullClass();
if (class_exists($class) && method_exists($class, 'get')) { if (class_exists($class)) {
$pluginObject = ($class)::get(); $pluginObject = filament($this->id);
return method_exists($pluginObject, 'getSettingsForm') && method_exists($pluginObject, 'saveSettings'); return $pluginObject instanceof HasPluginSettings;
} }
return false; return false;
@ -335,10 +335,10 @@ class Plugin extends Model implements HasPluginSettings
public function getSettingsForm(): array public function getSettingsForm(): array
{ {
$class = $this->fullClass(); $class = $this->fullClass();
if (class_exists($class) && method_exists($class, 'get')) { if (class_exists($class)) {
$pluginObject = ($class)::get(); $pluginObject = filament($this->id);
if (method_exists($pluginObject, 'getSettingsForm')) { if ($pluginObject instanceof HasPluginSettings) {
return $pluginObject->getSettingsForm(); return $pluginObject->getSettingsForm();
} }
} }
@ -352,10 +352,10 @@ class Plugin extends Model implements HasPluginSettings
public function saveSettings(array $data): void public function saveSettings(array $data): void
{ {
$class = $this->fullClass(); $class = $this->fullClass();
if (class_exists($class) && method_exists($class, 'get')) { if (class_exists($class)) {
$pluginObject = ($class)::get(); $pluginObject = filament($this->id);
if (method_exists($pluginObject, 'saveSettings')) { if ($pluginObject instanceof HasPluginSettings) {
$pluginObject->saveSettings($data); $pluginObject->saveSettings($data);
} }
} }

View File

@ -140,7 +140,7 @@ class PluginService
throw new Exception('Class "' . $pluginClass . '" not found'); throw new Exception('Class "' . $pluginClass . '" not found');
} }
$panel->plugin($pluginClass::make()); $panel->plugin(new $pluginClass());
$this->enablePlugin($plugin); $this->enablePlugin($plugin);
} catch (Exception $exception) { } catch (Exception $exception) {