Skip to content

PHP 8.2 : Readonly Classes

PHP 8.2 introduces a new feature called readonly classes, which allow developers to mark certain class properties as read-only. This means that once a property has been set, it cannot be changed by any code within the class or its descendants.

To mark a property as read-only, developers can use the readonly keyword in the class definition. For example:

class User {
public readonly int $id;
public string $username;

public function __construct(int $id, string $username) {
$this->id = $id;
$this->username = $username;
}
}

In this case, the $id property is marked as read-only, while the $username property can be changed.

Readonly classes can be useful in cases where certain data should not be modified after it is set. For example, if a user’s ID is set when they are created and should never be changed, marking the $id property as read-only can help prevent any accidental changes.

Another benefit of readonly classes is that they can help improve the performance of certain operations. Because the PHP interpreter knows that a read-only property cannot be changed, it can optimize the code accordingly. This can lead to faster execution times in some cases.

It’s important to note that readonly classes are not a replacement for immutability. While read-only properties cannot be changed, they can still be accessed and their values can be used in calculations or other operations. If you need to ensure that a class and its properties are completely immutable, you should use an immutable class instead.

Overall, readonly classes provide a useful way for developers to mark certain class properties as unchangeable, helping to prevent accidental changes and improve performance in some cases.

Published inDevelopmentPHP

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *