Classi, proprietà e metodi
Definire una classe PHP con proprietà e metodi.
Classi, proprietà e metodi è una lezione PHP Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento PHP Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso PHP Academy include 4 lezioni in totale.
Introduzione: classi PHP
Una classe è un modello per creare oggetti. Definisce proprietà (dati) e metodi (comportamento). Le funzionalità di programmazione orientata agli oggetti di PHP rendono il codice più modulare, riutilizzabile e facile da manutenere.
Concetti fondamentali
Concetti chiave delle classi PHP:
- Utilizzi
class ClassName {}per definire una classe - Le proprietà memorizzano i dati, mentre i metodi definiscono il comportamento
- Crei istanze con
new ClassName() - Acceda ai membri con l'operatore freccia
->
Definizione di una classe
Esempio:
<?php
class Car {
public string $brand;
public int $year;
public float $price;
public function describe(): string {
return "{$this->year} {$this->brand}";
}
}
$car = new Car();
$car->brand = 'Toyota';
$car->year = 2022;
$car->price = 25000.0;
echo $car->describe(); // 2022 ToyotaModificatori di accesso
Continuiamo:
<?php
class BankAccount {
public string $owner;
private float $balance;
protected string $currency;
// public: accessible everywhere
// private: only within this class
// protected: this class + subclasses
}Proprietà con tipi
Esercizio:
<?php
class Product {
public string $name;
public float $price;
public int $stock = 0; // default value
public bool $active = true;
public function inStock(): bool {
return $this->stock > 0;
}
}Metodi di istanza
Approfondimento:
<?php
class Counter {
private int $count = 0;
public function increment(): void { $this->count++; }
public function decrement(): void { $this->count--; }
public function reset(): void { $this->count = 0; }
public function value(): int { return $this->count; }
}
$c = new Counter();
$c->increment();
$c->increment();
echo $c->value(); // 2Concatenamento dei metodi
Utilizzo avanzato:
<?php
class QueryBuilder {
private string $table = '';
private int $limit = 100;
public function from(string $t): static { $this->table = $t; return $this; }
public function limit(int $n): static { $this->limit = $n; return $this; }
public function build(): string {
return "SELECT * FROM {$this->table} LIMIT {$this->limit}";
}
}
echo (new QueryBuilder())->from('users')->limit(10)->build();Costanti di classe
Pattern pratico:
<?php
class HttpStatus {
const OK = 200;
const NOT_FOUND = 404;
const ERROR = 500;
public static function message(int $code): string {
return match($code) {
self::OK => 'OK',
self::NOT_FOUND => 'Not Found',
default => 'Error',
};
}
}
echo HttpStatus::message(HttpStatus::NOT_FOUND); // Not FoundProprietà readonly (PHP 8.1)
Buone pratiche:
<?php
class Point {
public function __construct(
public readonly float $x,
public readonly float $y,
) {}
public function distanceTo(Point $other): float {
return sqrt(($this->x - $other->x) ** 2 + ($this->y - $other->y) ** 2);
}
}
$p1 = new Point(0, 0);
$p2 = new Point(3, 4);
echo $p1->distanceTo($p2); // 5Pattern pratico
Metta tutto insieme con un pattern pratico per le classi PHP.
Errori comuni
Eviti questi errori comuni con le classi PHP:
- Utilizzi i modificatori di accesso per incapsulare lo stato
- Preferisca la promozione del costruttore per le classi compatte
- Definisca le costanti con const per i valori fissi
- Utilizzi il concatenamento dei metodi (interfaccia fluente) per API leggibili
Verifica rapida
Quale modificatore di accesso rende una proprietà accessibile solo all'interno della classe stessa?
Riepilogo: classi PHP
Ha trattato le classi PHP. Punti chiave da ricordare:
- Utilizzi i modificatori di accesso per incapsulare lo stato
- Preferisca la promozione del costruttore per le classi compatte
- Definisca le costanti con const per i valori fissi
- Utilizzi il concatenamento dei metodi (interfaccia fluente) per API leggibili
Domande Frequenti
La lezione «Classi, proprietà e metodi» è gratuita?
Sì — il testo completo di «Classi, proprietà e metodi» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso PHP Academy, passa a CoddyKit PRO. Il corso PHP Academy include 4 lezioni in totale.
Cosa imparerò in «Classi, proprietà e metodi»?
Definire una classe PHP con proprietà e metodi. Eserciti PHP Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare PHP Academy?
Non è richiesta alcuna esperienza precedente. PHP Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Classi, proprietà e metodi»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione PHP Academy?
Sì. Ogni lezione PHP Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Classi, proprietà e metodi
- Costruttori e distruttori
- Proprietà e metodi statici
- Panoramica dei metodi magici