Czy to coś zmienia w działaniu strony czy nie do końca.
Nie, nie zmienia niczego z punktu widzenia użytkownika. To mniej więcej coś takiego, jak elektrownie. Dla ludzi nie ma znaczenia, czy prąd dostarcza elektrownia węglowa, czy wiatrowa. Ważne, że jak podłączą pralkę, to działa.
Tworzenie klas tylko po to, by zastąpić funkcje metodami z tych klas, nie jest w ogóle konieczne. Aczkolwiek zdarza się, że klasa ma same metody (nie jestem specjalistą PHP, potrzebowałem po prostu mechanizmu obsługującego sesje w jednym z prostych projektów, które tworzyłem dla siebie):
class Session
{
public static function addVar($all)
{
foreach ($all as $key => $val) {
$_SESSION[$key] = $val;
}
}
public static function getVar($name)
{
return $_SESSION[$name];
}
public static function updateVar($name, $upValue)
{
$tmp[$name] = $upValue;
self::addVar($tmp);
}
public static function start()
{
if (isset($_SESSION) === FALSE) {
session_start();
}
}
public static function stop()
{
if (isset($_SESSION)) {
session_destroy();
}
}
}
Tworzenie klas ma sens wtedy, kiedy projekt chcesz pisać obiektowo. Jest to trudniejsze do zrozumienia, bo w tym całym ekosystemie występuje kilka nieintuicyjnych abstrakcji, których nie ma w programowaniu strukturalnym. Zauważ jednak, że dla człowieka niezwiązanego z programowaniem, przekazywanie argumentów do funkcji, czy zwracanie wartości funkcji przez wskaźnik też jest sporą abstrakcją. To co zyskujesz z klasami i całą otoczką OOP, to jeszcze większa elastyczność projektu, brak dublowania kodu i ułatwienie pracy wielu osobom na raz. Oczywiście to wszystko jest prawdą, jeśli architektura aplikacji jest przemyślana.
Z punktu widzenia pamięci (przynajmniej bazując na wiedzy z C++, nie wiem jak jest z PHP) wydajniejsze jest tworzenie funkcji, ponieważ wymaga to mniejszych zasobów. Żeby wywołać metodę w klasie, program musi obsłużyć całą klasę, pomimo że nie korzysta z niej w pełni. Jest to redundancja. Tak więc, jeśli nie potrzebujesz klas, a same funkcje, to lepiej ograniczyć się do tych ostatnich.