always autoload src

This commit is contained in:
Boy132 2025-11-11 15:19:41 +01:00
parent ae190b65aa
commit bc10e5f4aa

View File

@ -50,6 +50,12 @@ class PluginService
} }
} }
// Autoload src directory to make sure all class names can be resolved (e.g. in migrations)
$namespace = $plugin->namespace . '\\';
if (!array_key_exists($namespace, $classLoader->getPrefixesPsr4())) {
$classLoader->setPsr4($namespace, plugin_path($plugin->id, 'src/'));
}
// Filter out plugins that should not be loaded (e.g. because they are disabled or not installed yet) // Filter out plugins that should not be loaded (e.g. because they are disabled or not installed yet)
if (!$plugin->shouldLoad()) { if (!$plugin->shouldLoad()) {
continue; continue;
@ -73,12 +79,6 @@ class PluginService
}); });
} }
// Autoload src directory
$namespace = $plugin->namespace . '\\';
if (!array_key_exists($namespace, $classLoader->getPrefixesPsr4())) {
$classLoader->setPsr4($namespace, plugin_path($plugin->id, 'src/'));
}
// Register service providers // Register service providers
foreach ($plugin->getProviders() as $provider) { foreach ($plugin->getProviders() as $provider) {
if (!class_exists($provider) || !is_subclass_of($provider, ServiceProvider::class)) { if (!class_exists($provider) || !is_subclass_of($provider, ServiceProvider::class)) {