@Findus23 opened this Issue on July 6th 2020 Member

It is still quite a bit in the future until PHP 8 will be released, but as it is a major release removing and deprecating a lot of ancient features, one can not start early enough fixing things:

In Matomo:

https://github.com/matomo-org/matomo/blob/115527353a9e75e01aa4d263408956ae45403bea/core/Singleton.php#L27-L29

  • [x] #16312 plugins/Actions/ArchivingHelper.php on line 374
  • [x] #16313 don't log silenced errors in php8

In 3rd-party-libraries:

  • [ ] PHP-DI: ReflectionParameter::getClass() is deprecated
    [06-Jul-2020 13:56:34 UTC] PHP Deprecated:  Method ReflectionParameter::getClass() is deprecated in /home/lukas/public_html/matomophp8/vendor/php-di/php-di/src/DI/Invoker/FactoryParameterResolver.php on line 43

    https://github.com/php/php-src/pull/5209
    I still don't know DI, so I can't say much about it

Will be fixed with https://github.com/PHP-DI/PHP-DI/issues/727 and https://github.com/matomo-org/matomo/issues/15974 (PR: https://github.com/matomo-org/matomo/pull/16311)


to be continued ...

@sgiehl commented on August 18th 2020 Member

Private methods cannot be final as they are never overridden by other classes in /home/lukas/public_html/matomophp8/core/Singleton.php on line 27

Guess we could simply make the method public to prevent that error and maybe throw an Exception in the method that clone is not supported or something like that...

Powered by GitHub Issue Mirror