Zagłosowałem na Zrobić jedną wersję dla 7.0, drugą dla 8.0 . Tylko nie wiem co przez to sam rozumiesz :P
Jeśli chodzi o to, że wersja z Match będzie miała numer np. 0.1, a wersja z cośtam będzie miała 1.0, to chyba niepotrzebny chaos, żeby rozbijać to na 2 osobne tagi.
- 2 klasy niech istnieją w tym samym czasie dla
PHP 7, może to być zrobione jeszcze przed wejściem PHP 8.
Match niech będzie deprecated i zostanie usunięte kiedyś tam w jakimś majorze. Ale nie zaraz gdy PHP 8 ujrzy światło dzienne^^ Tylko jakiś czas później.
- W przypadku używania
Match razem z PHP 8 user po prostu powinien dostać info, że powinien zmienić używaną klasę.
- Jeśli ktoś cały czas używa
PHP 7, to nie powinien tej możliwości zostać pozbawiony.
- Klasę
Match usunąłbym dopiero wtedy, gdyby PHP 8 był wymagany dla całej biblioteki. Albo po x czasu w jakimś majorze.
Ogólnie ja bym zrobił coś takiego (nie jest to ładne, ale chyba najlepsze dla usera końcowego):
Kopiuj
class JakasKlasa extends BaseClass {}
if (PHP_VERSION < 8) {
class Match extends BaseClass {}
}
class BaseClass {
//tu cały kod z Match
}