N°7629 Deprecate utils::GetClassesForInterface in favor of InterfaceDiscovery::FindItopClasses

Improve caching strategy and robustness
This commit is contained in:
Romain Quetiez
2024-07-06 12:08:51 +02:00
parent 147aad9221
commit baf85e7a80
19 changed files with 845 additions and 112 deletions

View File

@@ -3,6 +3,7 @@
namespace Combodo\iTop\Application\WelcomePopup;
use AttributeDateTime;
use Combodo\iTop\Service\InterfaceDiscovery\InterfaceDiscovery;
use DBObjectSearch;
use DBObjectSet;
use Exception;
@@ -12,7 +13,6 @@ use MetaModel;
use UserRights;
use WelcomePopupAcknowledge;
use iWelcomePopupExtension;
use utils;
/**
* Handling of the messages displayed in the "Welcome Popup"
@@ -175,7 +175,7 @@ class WelcomePopupService
if ($this->aMessagesProviders !== null) return;
$aProviders = [];
$aProviderClasses = utils::GetClassesForInterface(iWelcomePopupExtension::class, '', array('[\\\\/]lib[\\\\/]', '[\\\\/]node_modules[\\\\/]', '[\\\\/]test[\\\\/]', '[\\\\/]tests[\\\\/]'));
$aProviderClasses = InterfaceDiscovery::GetInstance()->FindItopClasses(iWelcomePopupExtension::class);
foreach($aProviderClasses as $sProviderClass) {
$aProviders[] = new $sProviderClass();
}