What are some best practices for using static properties and methods in PHP classes?

When using static properties and methods in PHP classes, it is important to follow some best practices to ensure code readability, maintainability, and efficiency. One best practice is to use static properties for constants or shared data that does not change throughout the execution of the program. Another best practice is to use static methods for utility functions that do not rely on instance-specific data. By following these best practices, you can improve the structure and performance of your PHP classes.

class MathUtils {
    public static $PI = 3.14159;

    public static function calculateCircleArea($radius) {
        return self::$PI * $radius * $radius;
    }
}

$radius = 5;
$area = MathUtils::calculateCircleArea($radius);
echo "The area of a circle with radius $radius is $area";