OOP in PHP - Inleiding tot klasse en objecten

O

In de vorige tutorials hebben we functies gebruikt om PHP-scripts te schrijven. Daarom wordt het structureel programmeren genoemd. Maar structureel programmeren wordt rommeliger en moeilijker te begrijpen en te hanteren naarmate de applicatie of het project groter wordt. We beginnen nu met Object Oriented Programming- OOP in PHP die gebruik maakt van klassen en objecten.

Wat is objectgeoriënteerd programmeren - OOP in PHP

OOP is een afkorting van Object-Oriented Programming. Zoals de naam al doet vermoeden, bevat het objecten die zowel de gegevens als de eigenschappen bevatten.

Het hangt af van de vereisten om te kiezen uit OOP in PHP of structureel programmeren in PHP. In de meeste gevallen presteert OOP echter beter dan structurele programmering. De redenen waarom OOP in PHP voordeliger is, staan ​​hieronder.

  • OOP is gemakkelijker te begrijpen en sneller uit te voeren.
  • Code wordt in een structuur waardoor het gemakkelijk kan worden gemodereerd.
  • Door OOP in PHP te gebruiken, kunnen we herhalingen van code voorkomen.
  • Volgens de standaard OOP-principes kunnen we zowel kleinschalige als grootschalige toepassingen ontwikkelen. We zullen deze standaardfuncties leren in de volgende tutorials.

Wat is een klasse in OOP?

Een klasse is het belangrijkste startpunt van OOP in PHP. Een klasse bevat de attributen, functies en specificaties. Kijk bijvoorbeeld naar de volgende voorbeelden om je voor te stellen waar een klas eigenlijk over gaat.

  • Een klasse gezelschapsdieren
  • Een klasse van auto's

Net als in de bovenstaande klassen hebben we de dieren ingedeeld in de klasse Dieren en auto's in de klasse Auto. Deze klasse bevat attributen en functies, die we later in het artikel zullen bespreken.

Wat zijn objecten in OOP?

Objecten zijn instanties van de klasse die de eigenschappen ervan bevat of weerspiegelt. Er kunnen meerdere objecten van een klasse zijn die dezelfde eigenschappen van zijn klasse weerspiegelen. Elk object kan echter verschillende waarden hebben voor de eigenschappen van zijn klasse.

In het bovenstaande voorbeeld van de klasse van gezelschapsdieren en auto's kunnen we de volgende objecten hebben.

  • Object van klasse gezelschapsdieren met kat en hond.
  • Evenzo voorwerp van klasse Auto's met Honda en Toyota.

Opmerking: een object erft alle eigenschappen van zijn klasse.

Hoe maak je een klasse in PHP OOP?

Het class-sleutelwoord wordt gebruikt om een ​​klasse in PHP te declareren. De naam van de klasse komt na dit trefwoord en het wordt aanbevolen om de klassenaam met een hoofdletter te beginnen. We maken bijvoorbeeld een klasse gezelschapsdieren in PHP.

<?php
class Pets {
  // code
}
?>

Nu hebben we een klasse Pets, die geen functie, attributen of code bevat. In het volgende voorbeeld zullen we de PHP-klasse vullen met enkele functies. Laten we zeggen dat we de naam van het huisdier en zijn kleur hebben.

<?php
class Pets {

  // Properties

  public $nick_name;
  public $color;

  // functions
  function set_nick_name($name) {
    $this->nick_name = $name;
  }

  function get_nick_name() {
    return $this->nick_name;
  }
}
?>

Opmerking: Variabelen in de klasse zijn ook bekend als attributen en functioneren als methoden.

Hoe maak je een object van klasse in PHP?

Om een ​​nieuw object in PHP te maken, gebruik nieuwe trefwoord en schrijf de naam van het object achter het trefwoord. Bekijk het volgende voorbeeld, waarin we twee objecten van de klasse Pets maken.

<?php
class Pets {
  // Properties
  public $nick_name;
  public $color;

  // Methods
  function set_name($name) {
    $this->nick_name = $name;
  }
  function get_name() {
    return $this->nick_name;
  }
}

$cat = new Pets();
$dog = new Pets();

$cat->set_name('yii');
$dog->set_name('hop');

echo $cat->get_name();
echo "<br>";
echo $dog->get_name();
?>
  • In het bovenstaande voorbeeld hebben we twee methoden opgenomen om de naam van het huisdier in te stellen en op te halen.
  • We maken gebruik van de nieuwe trefwoord om twee objecten $cat en $dog te maken.
  • Roep de methode set_name aan met beide objecten.
  • Nu hebben beide objecten hun eigen bijnaam.

Nu, in het bovenstaande voorbeeld, zullen we nog twee functies toevoegen die de kleureigenschap van het huisdier zullen instellen en verkrijgen.



<?php
class Pets {
  // Properties
  public $nick_name;
  public $color;

  // Methods
  function set_name($name) {
    $this->nick_name = $name;
  }
  function get_name() {
    return $this->nick_name;
  }
  function set_color($color) {
    $this->color = $color;
  }
  function get_color() {
    return $this->color;
  }
}

$cat = new Pets();
$dog = new Pets();

$cat->set_name('yii');
$dog->set_name('hop');

$cat->set_color('brown');
$dog->set_color('white');

echo $cat->get_name();
echo $cat->get_color();

echo $dog->get_name();
echo $dog->get_color();
?>

  • In het bovenstaande voorbeeld hebben we twee extra methoden opgenomen om de kleur van het huisdier in te stellen en te krijgen.
  • We maken gebruik van de nieuwe trefwoord om twee neobjects $cat en $dog te maken.
  • Roep de methode set_name en set color aan voor beide objecten.
  • Nu hebben beide objecten hun eigen eigenschap van bijnaam en kleur.
  • We noemen de methode get met beide objecten. Het zal de naam en kleur van beide huisdieren weergeven.

Wat is $this keyword in PHP OOP?

$ This trefwoord verwijst naar het huidige object in PHP OOP. Het sleutelwoord kan worden gebruikt om de waarde voor het huidige object in te stellen of om de waarde op te halen.

Er zijn twee methoden om de waarde van de . bij te werken klasse attributen.

  1. $dit trefwoord gebruiken
  2. Stel de waarde rechtstreeks in met object.

Kijk naar het volgende voorbeeld, waarin we gebruik maken van $dit trefwoord binnen de functie om de waarde van de huisdierkleur in te stellen.



<?php
class Pets {

  // Properties

  public $nick_name;
  public $color;

  // functions
  function set_nick_name($name) {
    $this->nick_name = $name;
  }

  function get_nick_name() {
    return $this->nick_name;
  }
}
?>

Zorg ervoor dat in het bovenstaande voorbeeld de bijnaam wordt ingesteld voor het object dat deze functie aanroept. In het volgende voorbeeld zullen we de bijnaam instellen zonder $this trefwoord te gebruiken.

<?php
class Pets {
  public $color;
}
$cat = new Pet();
$cat->name = "brown";

echo $cat->color;
?>

PHP-instanceOf-functie

U kunt de functie PHP instanceOf gebruiken om de klasse te controleren van het object waartoe het behoort.

<?php
$dog = new Pet();
var_dump($dog instanceof Pet);
?>

U kunt verwijzen naar het officiële PHP 8-artikel over klassen en objecten hier.

Voeg commentaar toe

Tutor netwerk

Leer PHP van A tot Z