Sebobo / Shel.Neos.CommandBar

A commandbar (CMK+K) for Neos CMS
MIT License
15 stars 2 forks source link

Add compatibility for PHP >= 7.3 #41

Closed alexander-nitsche closed 1 year ago

alexander-nitsche commented 1 year ago

Is your feature request related to a problem? Please describe. Neos CMS 7.3 LTS instances running on PHP < 8.1 cannot use this package. Since Neos 7.3 is still supported until the end of 2024 and can run on PHP 7.3 and above, I suggest making this package compatible with PHP 7.3 as long as it is marked as compatible with Neos 7.3. The code adjustments could be small and the increase in popularity could be big :)

Describe the solution you'd like Add compatibility for PHP >= 7.3 (currently PHP >= 8.1).

Describe alternatives you've considered Switching production web servers to PHP 8.1 comes at higher costs than adapting this package to PHP 7.3.

Additional context These are the error types that need to be handled for being compatible with PHP 7.3:

  1. 'str_starts_with' is available starting with 8.0 PHP version
  2. Constructor property promotion is only allowed since PHP 8.0
  3. Attributes are only allowed since PHP 8.0
  4. 'readonly' properties are only allowed since PHP 8.1
  5. Trailing comma in parameters list is only available since PHP 8.0
  6. Arrow function syntax is only allowed since PHP 7.4
Sebobo commented 1 year ago

TLDR: Nope 😉

I maintain quite a pile of packages and with most of them support older Neos and PHP versions. This is quite some effort and I want move ahead at some point. So I'm cutting of older versions of both here and there.

You anyway cannot get around upgrading to PHP 8 so cost and effort is no excuse.

This plugin has no sponsor, so I'm purely doing this because I wanted to and therefore feel the freedom to choose the version support I want to.

It's also not only about the existing PHP Code in the package but also what I will build next. Supporting dead PHP versions and limiting myself is not helping there.

Hope you understand and find a way to upgrade your projects and get a better experience for yourself and your customers.