OOP în PHP – Introducere în clasă și obiecte

O

În tutorialele anterioare, am folosit funcții pentru a scrie scripturi PHP. Prin urmare, se numește programare structurală. Dar, programarea structurală devine mai dezordonată și mai dificil de înțeles și gestionat pe măsură ce dimensiunea aplicației sau a proiectului crește. Acum începem programarea orientată pe obiecte - OOP în PHP care folosește clase și obiecte.

Ce este programarea orientată pe obiecte – OOP în PHP

OOP este o abreviere pentru programarea orientată pe obiecte. După cum sugerează și numele, conține obiecte care dețin atât datele, cât și proprietățile.

Depinde de cerințele pentru a selecta din OOP în PHP sau programarea structurală în PHP. Cu toate acestea, în majoritatea cazurilor, OOP depășește programarea structurală. Motivele pentru care OOP în PHP este mai benefică sunt mai jos.

  • OOP este mai ușor de înțeles și mai rapid de executat.
  • Codul devine într-o structură care îl face capabil să se modifice ușor.
  • Folosind OOP în PHP, putem evita repetarea codului.
  • Urmând principiile standard OOP, putem dezvolta atât aplicații la scară mică, cât și la scară mare. Vom învăța aceste caracteristici standard în următoarele tutoriale.

Ce este o clasă în OOP?

O clasă este punctul de plecare principal al OOP în PHP. O clasă conține atributele, funcțiile și specificațiile. De exemplu, uitați-vă la următoarele exemple pentru a vă imagina despre ce este de fapt o clasă.

  • O clasă de animale de companie
  • O clasă de mașini

Ca și în clasele de mai sus, am clasificat animalele în clasa Animale și mașinile în clasa Mașini. Această clasă conține atribute și funcții, pe care le vom vedea mai târziu în articol.

Ce sunt obiectele în OOP?

Obiectele sunt instanțe ale clasei care deține sau reflectă proprietățile acesteia. Pot exista mai multe obiecte ale unei clase care reflectă aceleași proprietăți ale clasei sale. Cu toate acestea, fiecare obiect poate avea valori diferite pentru proprietățile clasei sale.

În exemplul de mai sus al clasei de animale de companie și mașini, putem avea următoarele obiecte.

  • Obiectul clasei animale de companie care conțin pisică și câine.
  • În mod similar, obiectul clasei Mașini care conțin Honda și Toyota.

Notă: Un obiect moștenește toate proprietățile clasei sale.

Cum se creează o clasă în PHP OOP?

Cuvântul cheie class este folosit pentru a declara o clasă în PHP. Numele clasei vine după acest cuvânt cheie și se recomandă să începeți numele clasei cu majuscule. De exemplu, creăm o clasă de animale de companie în PHP.

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

Acum, avem o clasă Animale de companie, care nu conține nicio funcție, atribute sau cod. În exemplul următor, vom completa clasa PHP cu câteva funcții. Să spunem că avem numele animalului de companie și culoarea acestuia.

<?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;
  }
}
?>

Notă: Variabilele din clasă sunt cunoscute și ca atribute și funcționează ca metode.

Cum se creează un obiect de clasă în PHP?

Pentru a crea un obiect nou în PHP, utilizați nou cuvânt cheie și scrieți numele obiectului după cuvântul cheie. Priviți următorul exemplu, în care creăm două obiecte din clasa Pets.

<?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();
?>
  • În exemplul de mai sus, includem două metode pentru a seta și a obține numele animalului de companie.
  • Noi folosim nou cuvânt cheie pentru a crea două obiecte $cat și $dog.
  • Apelați metoda set_name folosind ambele obiecte.
  • Acum, ambele obiecte dețin propria proprietate de porecla.

Acum, în exemplul de mai sus, vom adăuga încă două funcții care vor seta și vor obține proprietatea de culoare a animalului de companie.



<?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();
?>

  • În exemplul de mai sus, includem două metode suplimentare pentru a seta și a obține culoarea animalului de companie.
  • Noi folosim nou cuvânt cheie pentru a crea două neobiecte $cat și $dog.
  • Apelați set_name și setați metodele de culoare pentru ambele obiecte.
  • Acum, ambele obiecte dețin proprietățile sale de porecla și culoare.
  • Numim metoda get folosind ambele obiecte. Va afișa numele și culoarea ambelor animale de companie.

Ce este $this cuvânt cheie în PHP OOP?

$ asta cuvântul cheie se referă la obiectul curent în PHP OOP. Cuvântul cheie poate fi folosit fie pentru a seta valoarea pentru obiectul curent, fie pentru a obține valoarea.

Există două metode de actualizare a valorii atribute de clasă.

  1. Folosind $acest cuvânt cheie
  2. Setați valoarea direct folosind obiect.

Priviți următorul exemplu, în care folosim $acest cuvânt cheie în interiorul funcției pentru a seta valoarea culorii animalelor de companie.



<?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;
  }
}
?>

Asigurați-vă că, în exemplul de mai sus, nick_name va fi setat pentru obiectul care apelează această funcție. În exemplul următor, vom seta porecla fără a folosi $this cuvânt cheie.

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

echo $cat->color;
?>

Funcția PHP instnceOf

Puteți utiliza funcția PHP instanceOf pentru a verifica clasa obiectului căruia îi aparține.

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

Puteți consulta articolul oficial PHP 8 Classes and Objects aici.

Adaugă comentariu

Rețeaua de tutori

Învață PHP de la A la Z