From c60311617d07080128fbe1cdc373961767e9cfa4 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Tue, 17 May 2022 21:37:45 +0100 Subject: [PATCH] Modernize private property declarations in src/plugin --- src/plugin/DiskResourceProvider.php | 4 +-- src/plugin/PharPluginLoader.php | 10 ++----- src/plugin/PluginBase.php | 46 ++++++++--------------------- src/plugin/PluginGraylist.php | 5 ++-- src/plugin/PluginLogger.php | 2 +- src/plugin/PluginManager.php | 19 ++++-------- 6 files changed, 25 insertions(+), 61 deletions(-) diff --git a/src/plugin/DiskResourceProvider.php b/src/plugin/DiskResourceProvider.php index 15851acbb..a2731cad8 100644 --- a/src/plugin/DiskResourceProvider.php +++ b/src/plugin/DiskResourceProvider.php @@ -38,9 +38,7 @@ use const DIRECTORY_SEPARATOR; * to enable special types of access. */ class DiskResourceProvider implements ResourceProvider{ - - /** @var string */ - private $file; + private string $file; public function __construct(string $path){ $this->file = rtrim(str_replace(DIRECTORY_SEPARATOR, "/", $path), "/") . "/"; diff --git a/src/plugin/PharPluginLoader.php b/src/plugin/PharPluginLoader.php index e036099e8..12260812f 100644 --- a/src/plugin/PharPluginLoader.php +++ b/src/plugin/PharPluginLoader.php @@ -31,13 +31,9 @@ use function substr; * Handles different types of plugins */ class PharPluginLoader implements PluginLoader{ - - /** @var \DynamicClassLoader */ - private $loader; - - public function __construct(\DynamicClassLoader $loader){ - $this->loader = $loader; - } + public function __construct( + private \DynamicClassLoader $loader + ){} public function canLoadPlugin(string $path) : bool{ $ext = ".phar"; diff --git a/src/plugin/PluginBase.php b/src/plugin/PluginBase.php index fdf47d39c..1c607a7e7 100644 --- a/src/plugin/PluginBase.php +++ b/src/plugin/PluginBase.php @@ -47,41 +47,22 @@ use function strtolower; use function trim; abstract class PluginBase implements Plugin, CommandExecutor{ + private bool $isEnabled = false; - /** @var PluginLoader */ - private $loader; + private ?Config $config = null; + private string $configFile; - /** @var Server */ - private $server; + private PluginLogger $logger; + private TaskScheduler $scheduler; - /** @var bool */ - private $isEnabled = false; - - /** @var PluginDescription */ - private $description; - - /** @var string */ - private $dataFolder; - /** @var Config|null */ - private $config = null; - /** @var string */ - private $configFile; - /** @var string */ - private $file; - - /** @var PluginLogger */ - private $logger; - - /** @var TaskScheduler */ - private $scheduler; - - /** @var ResourceProvider */ - private $resourceProvider; - - public function __construct(PluginLoader $loader, Server $server, PluginDescription $description, string $dataFolder, string $file, ResourceProvider $resourceProvider){ - $this->loader = $loader; - $this->server = $server; - $this->description = $description; + public function __construct( + private PluginLoader $loader, + private Server $server, + private PluginDescription $description, + private string $dataFolder, + private string $file, + private ResourceProvider $resourceProvider + ){ $this->dataFolder = rtrim($dataFolder, "/" . DIRECTORY_SEPARATOR) . "/"; //TODO: this is accessed externally via reflection, not unused $this->file = rtrim($file, "/" . DIRECTORY_SEPARATOR) . "/"; @@ -90,7 +71,6 @@ abstract class PluginBase implements Plugin, CommandExecutor{ $prefix = $this->getDescription()->getPrefix(); $this->logger = new PluginLogger($server->getLogger(), $prefix !== "" ? $prefix : $this->getName()); $this->scheduler = new TaskScheduler($this->getFullName()); - $this->resourceProvider = $resourceProvider; $this->onLoad(); diff --git a/src/plugin/PluginGraylist.php b/src/plugin/PluginGraylist.php index cd6287f82..bfff56879 100644 --- a/src/plugin/PluginGraylist.php +++ b/src/plugin/PluginGraylist.php @@ -32,9 +32,8 @@ use function is_string; class PluginGraylist{ /** @var string[] */ - private $plugins; - /** @var bool */ - private $isWhitelist = false; + private array $plugins; + private bool $isWhitelist = false; /** * @param string[] $plugins diff --git a/src/plugin/PluginLogger.php b/src/plugin/PluginLogger.php index 1a1ab9cdb..8615153e3 100644 --- a/src/plugin/PluginLogger.php +++ b/src/plugin/PluginLogger.php @@ -34,7 +34,7 @@ class PluginLogger extends \PrefixedLogger implements \AttachableLogger{ * @var \Closure[] * @phpstan-var LoggerAttachment[] */ - private $attachments = []; + private array $attachments = []; /** * @phpstan-param LoggerAttachment $attachment diff --git a/src/plugin/PluginManager.php b/src/plugin/PluginManager.php index 2f3e0d1ea..6902c4d94 100644 --- a/src/plugin/PluginManager.php +++ b/src/plugin/PluginManager.php @@ -69,10 +69,6 @@ use function strtolower; * Manages all the plugins */ class PluginManager{ - - /** @var Server */ - private $server; - /** @var Plugin[] */ protected $plugins = []; @@ -87,14 +83,11 @@ class PluginManager{ */ protected $fileAssociations = []; - /** @var string|null */ - private $pluginDataDirectory; - /** @var PluginGraylist|null */ - private $graylist; - - public function __construct(Server $server, ?string $pluginDataDirectory, ?PluginGraylist $graylist = null){ - $this->server = $server; - $this->pluginDataDirectory = $pluginDataDirectory; + public function __construct( + private Server $server, + private ?string $pluginDataDirectory, + private ?PluginGraylist $graylist = null + ){ if($this->pluginDataDirectory !== null){ if(!file_exists($this->pluginDataDirectory)){ @mkdir($this->pluginDataDirectory, 0777, true); @@ -102,8 +95,6 @@ class PluginManager{ throw new \RuntimeException("Plugin data path $this->pluginDataDirectory exists and is not a directory"); } } - - $this->graylist = $graylist; } public function getPlugin(string $name) : ?Plugin{