Home Php Definire una Classe in PHP: dalla Versione 5 a PHP 8.x

Definire una Classe in PHP: dalla Versione 5 a PHP 8.x

27
0
Classe in PHP
Classe in PHP

PHP 5: un nuovo Object Model

Con PHP 5 è stato introdotto un nuovo modello a oggetti, molto più potente e strutturato rispetto a PHP 4.
Tuttavia, la sintassi per dichiarare una classe è rimasta molto simile:

class NomeClasse {
    // Proprietà e metodi della classe
}

In PHP 4, il costruttore doveva avere lo stesso nome della classe:

class Motore {
    function Motore() {
        echo "Costruttore PHP 4";
    }
}

In PHP 5 (e successivi), è stato introdotto il costruttore standard __construct():

class Motore {
    function __construct() {
        echo "Costruttore PHP 5+";
    }
}

Esempio pratico Come puoi vedere:

<?php
class Engine {
    public $name;

    // Costruttore stile PHP 4
    function Engine() {
        $this->name = "Engine";
    }
}

class Engine2 extends Engine {
    // Costruttore moderno
    function __construct() {
        $this->name = "Engine 2";
    }
}

$engine = new Engine();
echo $engine->name;    // Output: Engine

$engine2 = new Engine2();
echo $engine2->name;   // Output: Engine 2
?>

La prima classe utilizza il costruttore vecchio stile.

La seconda, moderna, sovrascrive con __construct().

Nota su PHP 7.x e 8.x

A partire da PHP 7 e 8, è fortemente raccomandato (e in alcuni casi necessario) utilizzare solo __construct().

I costruttori con il nome della classe sono deprecati in PHP 7.0 e rimossi completamente in PHP 8.0.

In conclusione

Usa sempre __construct() per mantenere il tuo codice compatibile con le versioni moderne di PHP.
Evita lo stile function NomeClasse() che non è più supportato in PHP 8+.

Previous articleCome installare un certificato SSL gratis su un sito web

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.