8.1 / Exception / Property Type / Backwards compatbility
| From: | Philip Hofstetter | Date: | Tue, 10 Aug 2021 09:55:12 +0000 |
| Subject: | 8.1 / Exception / Property Type / Backwards compatbility | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-115683@lists.php.net to get a copy of this message | ||
Hello
The following valid <= PHP 8.0 code that intends to make the $line property
public is a fatal error in 8.1
class FooException extends Exception {
public $line;
}
However, the fixed code for 8.1:
class FooException extends Exception {
public int $line;
}
Is a fatal error in <= 8.0
Is there a way to create a class that makes the $line property public
that’s compatible with all versions of PHP without requiring conditional
declaration of the class?
For method return types, we have #[ReturnTypeWillChange], but for property
types 🤷♀️
Philip