Luokat, ominaisuudet ja metodit
Määritelkää PHP-luokka ominaisuuksineen ja metodeineen.
Luokat, ominaisuudet ja metodit on ilmainen PHP Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu PHP Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. PHP Academy-kurssilla on yhteensä 4 oppituntia.
Johdanto: PHP-luokat
Luokka on suunnitelma olioiden luomista varten. Se määrittelee ominaisuudet (datan) ja metodit (toiminnan). PHP:n olio-ohjelmointiominaisuudet tekevät koodista modulaarisempaa, uudelleenkäytettävämpää ja helpommin ylläpidettävää.
Peruskäsitteet
PHP-luokkien keskeiset käsitteet:
- Määrittele luokka syntaksilla
class ClassName {} - Ominaisuudet tallentavat dataa ja metodit määrittelevät toiminnan
- Luo ilmentymiä syntaksilla
new ClassName() - Käytä jäseniä
->-nuolioperaattorilla
Luokan määrittely
Esimerkki:
<?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 ToyotaNäkyvyysmääritteet
Jatkoa:
<?php
class BankAccount {
public string $owner;
private float $balance;
protected string $currency;
// public: accessible everywhere
// private: only within this class
// protected: this class + subclasses
}Tyypitetyt ominaisuudet
Harjoitus:
<?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;
}
}Ilmentymämetodit
Syvemmälle:
<?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(); // 2Metodiketjutus
Edistynyt käyttö:
<?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();Luokkavakiot
Käytännön malli:
<?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 FoundVain luku -ominaisuudet (PHP 8.1)
Parhaat käytännöt:
<?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); // 5Käytännön malli
Kokoa kaikki yhteen käytännön PHP-luokkien mallin avulla.
Yleiset sudenkuopat
Vältä näitä yleisiä virheitä PHP-luokkien kanssa:
- Kapseloi tila käyttämällä näkyvyysmääritteitä
- Suosi konstruktorin parametriylennystä kompakteissa luokissa
- Määrittele vakiot const-määritteellä kiinteitä arvoja varten
- Käytä metodiketjutusta (sujuva rajapinta) luettavien ohjelmointirajapintojen luomiseen
Pikatarkistus
Mikä näkyvyysmäärite tekee ominaisuudesta käytettävän vain luokan sisällä?
Kertaus: PHP-luokat
Olet käynyt läpi PHP-luokat. Muista nämä keskeiset asiat:
- Kapseloi tila käyttämällä näkyvyysmääritteitä
- Suosi konstruktorin parametriylennystä kompakteissa luokissa
- Määrittele vakiot const-määritteellä kiinteitä arvoja varten
- Käytä metodiketjutusta (sujuva rajapinta) luettavien ohjelmointirajapintojen luomiseen
Opi PHP tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 49
- Oppitunnit
- 195
Usein kysytyt kysymykset
Onko oppitunti ”Luokat, ominaisuudet ja metodit” ilmainen?
Kyllä – oppitunnin ”Luokat, ominaisuudet ja metodit” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko PHP Academy-kurssin, päivitä CoddyKit PROhon. PHP Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Luokat, ominaisuudet ja metodit”?
Määritelkää PHP-luokka ominaisuuksineen ja metodeineen. Harjoittelet PHP Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni PHP Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin PHP Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Luokat, ominaisuudet ja metodit”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä PHP Academy-oppitunnilla?
Kyllä. Jokainen PHP Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Luokat, ominaisuudet ja metodit
- Rakentajat ja tuhoajat
- Staattiset ominaisuudet ja metodit
- Taikametodien yleiskatsaus