What are some best practices for deciding between class instances and class methods in PHP programming?

When deciding between class instances and class methods in PHP programming, it's important to consider whether the functionality is specific to an individual instance of the class or if it is a behavior that can be shared among all instances of the class. Class instances are used when each object needs its own data and state, while class methods are used when a behavior is common to all instances of the class. Example PHP code snippet:

class Car {
    private $model;

    public function __construct($model) {
        $this->model = $model;
    }

    public function getModel() {
        return $this->model;
    }

    public static function getModels(array $cars) {
        $models = [];
        foreach ($cars as $car) {
            $models[] = $car->getModel();
        }
        return $models;
    }
}

$car1 = new Car('Toyota');
$car2 = new Car('Honda');

$cars = [$car1, $car2];

$models = Car::getModels($cars);

print_r($models);