OOP mewn PHP - Cyflwyniad i Ddosbarth a Gwrthrychau

O
SSL dibynadwy o ddim ond $3.44
Regex yn PHP
Adeiladwr a Dinistriwr yn PHP

Yn y tiwtorialau blaenorol, gwnaethom ddefnyddio swyddogaethau i ysgrifennu sgriptiau PHP. Felly, fe'i gelwir yn rhaglennu strwythurol. Ond, mae rhaglennu strwythurol yn dod yn fwy anniben ac yn anodd ei ddeall a'i drin wrth i faint y cais neu'r prosiect gynyddu. Rydym nawr yn dechrau Rhaglennu sy'n Canolbwyntio ar Wrthrychau - OOP yn PHP mae hynny'n defnyddio dosbarthiadau a gwrthrychau.

Beth yw Rhaglennu sy'n Canolbwyntio ar Wrthrychau - OOP yn PHP

Talfyriad o Raglenni sy'n Canolbwyntio ar Wrthrychau yw OOP. Fel y mae'r enw'n awgrymu, mae'n cynnwys gwrthrychau sy'n dal y data a'r priodweddau.

Mae'n dibynnu ar y gofynion i ddewis allan o OOP mewn PHP neu raglennu strwythurol yn PHP. Fodd bynnag, yn y rhan fwyaf o achosion, mae OOP yn perfformio'n well na rhaglennu strwythurol. Mae'r rhesymau pam mae OOP yn PHP yn fwy buddiol isod.

  • Mae'n haws deall OOP ac mae'n well gweithredu.
  • Mae'r cod yn dod mewn strwythur sy'n ei gwneud hi'n gallu tymer yn hawdd.
  • Gan ddefnyddio OOP yn PHP, gallwn osgoi rhag ailadrodd cod.
  • Yn dilyn egwyddorion OOP safonol, gallwn ddatblygu cymwysiadau ar raddfa fach a graddfa fawr. Byddwn yn dysgu'r nodweddion safonol hyn yn y tiwtorialau nesaf.

Beth yw dosbarth yn OOP?

Dosbarth yw prif fan cychwyn OOP yn PHP. Mae dosbarth yn cynnwys y priodoleddau, y swyddogaethau a'r manylebau. Er enghraifft, edrychwch ar yr enghreifftiau canlynol i ddychmygu beth yw pwrpas dosbarth mewn gwirionedd.

  • Dosbarth o anifeiliaid anwes
  • Dosbarth o geir

Fel yn y dosbarthiadau uchod, rydym wedi dosbarthu'r anifeiliaid yn y dosbarth Anifeiliaid a cheir yn y dosbarth Car. Mae'r dosbarth hwn yn cynnwys priodoleddau a swyddogaethau, y byddwn yn nes ymlaen yn yr erthygl.

Beth yw Gwrthrychau yn OOP?

Mae gwrthrychau yn enghreifftiau o'r dosbarth sy'n dal neu'n adlewyrchu ei briodweddau. Gall fod nifer o wrthrychau dosbarth sy'n adlewyrchu'r un priodweddau yn ei ddosbarth. Fodd bynnag, gall pob gwrthrych fod â gwahanol werthoedd ar gyfer priodweddau ei ddosbarth.

Yn yr enghraifft uchod o'r dosbarth o anifeiliaid anwes a cheir, gallwn gael y gwrthrychau canlynol.

  • Gwrthrych anifeiliaid anwes dosbarth sy'n cynnwys cath a chi.
  • Yn yr un modd, gwrthrych Ceir dosbarth sy'n cynnwys Honda a Toyota.

Nodyn: Mae gwrthrych yn etifeddu holl briodweddau ei ddosbarth.

Sut i greu dosbarth yn PHP OOP?

Defnyddir allweddair y dosbarth i ddatgan dosbarth yn PHP. Daw enw'r dosbarth ar ôl yr allweddair hwn ac argymhellir cychwyn enw'r dosbarth gyda phriflythyren. Er enghraifft, rydym yn creu dosbarth o anifeiliaid anwes yn PHP.

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

Nawr, mae gennym ni Anifeiliaid Anwes dosbarth, nad yw'n cynnwys unrhyw swyddogaeth, priodoleddau na chod. Yn yr enghraifft nesaf, byddwn yn llenwi'r dosbarth PHP gyda rhai swyddogaethau. Gadewch i ni ddweud, mae gennym enw'r anifail anwes a'i liw.

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

Nodyn: Mae newidynnau yn y dosbarth hefyd yn cael eu galw'n briodoleddau ac yn gweithredu fel dulliau.

Sut i greu Gwrthrych dosbarth yn PHP?

I greu gwrthrych newydd yn PHP, defnyddiwch newydd allweddair ac ysgrifennu enw'r gwrthrych ar ôl yr allweddair. Edrychwch ar yr enghraifft ganlynol, lle rydyn ni'n creu dau wrthrych o ddosbarth 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();
?>
  • Yn yr enghraifft uchod, rydym yn cynnwys dau ddull i osod a chael enw'r anifail anwes.
  • Rydym yn defnyddio'r newydd allweddair i greu dau wrthrych $ cath a $ ci.
  • Ffoniwch y dull set_name gan ddefnyddio'r ddau wrthrych.
  • Nawr, mae'r ddau wrthrych yn dal ei eiddo ei hun o'r llysenw.

Nawr, yn yr enghraifft uchod, byddwn yn ychwanegu dwy swyddogaeth arall a fydd yn gosod ac yn cael eiddo lliw yr anifail anwes.



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

  • Yn yr enghraifft uchod, rydym yn cynnwys dau ddull ychwanegol i osod a chael lliw yr anifail anwes.
  • Rydym yn defnyddio'r newydd allweddair i greu dau neobjects $ cat a $ dog.
  • Ffoniwch y set_name a gosod dulliau lliw ar gyfer y ddau wrthrych.
  • Nawr, mae'r ddau wrthrych yn dal ei eiddo ei hun o lysenw a lliw.
  • Rydym yn galw'r dull cael gan ddefnyddio'r ddau wrthrych. Bydd yn allbwn enw a lliw y ddau anifail anwes.

Beth yw $ yr allweddair hwn yn PHP OOP?

$ hwn mae allweddair yn cyfeirio at y gwrthrych cyfredol yn PHP OOP. Gellir defnyddio'r allweddair naill ai i osod y gwerth ar gyfer y gwrthrych cyfredol neu gael y gwerth.

Mae dau ddull i ddiweddaru gwerth y priodoleddau dosbarth.

  1. Gan ddefnyddio $ yr allweddair hwn
  2. Gosodwch y gwerth yn uniongyrchol gan ddefnyddio gwrthrych.

Edrychwch ar yr enghraifft ganlynol, rydyn ni'n ei defnyddio $ yr allweddair hwn y tu mewn i'r swyddogaeth i osod gwerth lliw anifail anwes.



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

Sicrhewch, yn yr enghraifft uchod, y bydd y llysenw yn cael ei osod ar gyfer y gwrthrych sy'n galw'r swyddogaeth hon. Yn yr enghraifft nesaf, byddwn yn gosod y llysenw heb ddefnyddio $ yr allweddair hwn.

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

echo $cat->color;
?>

Swyddogaeth PHP instnceOf

Gallwch ddefnyddio swyddogaeth PHP instanceOf i wirio dosbarth y gwrthrych y mae'n perthyn iddo.

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

Gallwch gyfeirio at erthygl swyddogol Dosbarthiadau a Gwrthrychau PHP 8 yma.

Regex yn PHP
Adeiladwr a Dinistriwr yn PHP

Rhwydwaith Tiwtoriaid

Rhannu hyn

Dysgwch PHP o A i Z