sdk-php-shop icon indicating copy to clipboard operation
sdk-php-shop copied to clipboard

Class "Mirakl\Core\Domain\MiraklObject" not found on PHP 8.3 when installed with --classmap-authoritative

Open JanMikes opened this issue 7 months ago • 2 comments

Once the composer is installed with composer install --classmap-authoritative, there is error Class "Mirakl\Core\Domain\MiraklObject" not found (there are errors for each class that is in composer.json in exclude).

Code to reproduce:

$request = new UpdateOffersRequest();
Error: Class "Mirakl\Core\Domain\MiraklObject" not found in /app/vendor/mirakl/sdk-php-shop/src/Mirakl/Core/Request/AbstractRequest.php:24
Stack trace:
#0 /app/vendor/composer/ClassLoader.php(576): include()
#1 /app/vendor/composer/ClassLoader.php(427): Composer\Autoload\{closure}('/app/vendor/com...')
#2 /app/vendor/mirakl/sdk-php-shop/src/Mirakl/MMP/OperatorShop/Request/Offer/AbstractUpdateOffersRequest.php(14): Composer\Autoload\ClassLoader->loadClass('Mirakl\\Core\\Req...')
#3 /app/vendor/composer/ClassLoader.php(576): include('/app/vendor/mir...')
#4 /app/vendor/composer/ClassLoader.php(427): Composer\Autoload\{closure}('/app/vendor/com...')
#5 /app/vendor/mirakl/sdk-php-shop/src/Mirakl/MMP/Shop/Request/Offer/UpdateOffersRequest.php(26): Composer\Autoload\ClassLoader->loadClass('Mirakl\\MMP\\Oper...')
#6 /app/vendor/composer/ClassLoader.php(576): include('/app/vendor/mir...')
#7 /app/vendor/composer/ClassLoader.php(427): Composer\Autoload\{closure}('/app/vendor/com...')

Package version 1.20.2 installed via composer.

Working workaround is to add the excluded files to composer.json to autoload:

"autoload": {
      "files": [
              "vendor/mirakl/sdk-php-shop/src/Mirakl/Core/Domain/Collection/AbstractMiraklArray.php",
              "vendor/mirakl/sdk-php-shop/src/Mirakl/Core/Domain/Collection/MiraklCollection.php",
              "vendor/mirakl/sdk-php-shop/src/Mirakl/Core/Domain/Collection/MiraklMap.php",
              "vendor/mirakl/sdk-php-shop/src/Mirakl/Core/Domain/MiraklObject.php"
          ]
}

JanMikes avatar Jul 10 '24 10:07 JanMikes