8.1 / Exception / Property Type / Backwards compatbility

From: 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

« previous php.internals (#115683) next »