Di PHP de avaker û wêranker

OOP di PHP de: Rêberek Destpêkê
Di PHP de Guherkerên Gihîştinê

PHP, mîna gelek zimanên din ên bernamesaziyê yên objekt-oriented, çêker û xerakerên polê piştgirî dike.

Avaker a fonksiyona taybetî ku dema ku tiştek çînek çêbibe bixweber tê gazî kirin. Fonksiyona bingehîn a çêker ew e ku taybetmendiyên objektê bide destpêkirin û wan li gorî nirxên xwerû an nirxên ku wekî arguman têne peyda kirin dema ku tişt çêdibe destnîşan bike. Avaker di PHP-ê de bi hevoksaziya dualî (__) û hevoka "avakirin" têne ragihandin. Divê "__construct" navê rêbaza çêker be. Li vir mînakek çêkerek di çalakiyê de di çîna "Pet" de ye:

class Pet {
  public $nick_name;
  public $color;

  function __construct($name, $color) {
    $this->nick_name = $name;
    $this->color = $color;
  }
  function get_name() {
    return $this->nick_name;
  }
  function get_color() {
    return $this->color;
  }
}

$cat = new Pet("Whiskers", "Black");
echo $cat->get_name();
echo "<br>";
echo $cat->get_color();

Dema ku em hêmanek nû ya "Pet" diafirînin û "Whiskers" û "Black" wekî parameteran bi cih dikin, çêker taybetmendiya "navdêr" û "reng" ya objektê bi rêzê li "Whiskers" û "Black" destnîşan dike. Dûv re dibe ku nirxên van taybetmendiyan bi karanîna rêbazên "navê bistînin" û "reng bistînin" werin wergirtin.

Ji aliyek din ve, wêranker pêvajoyek taybetî ye ku gava ku tiştek ji bîrê tê hilweşandin an jêbirin tête gazî kirin. Fonksiyona wê ya bingehîn ew e ku çavkaniyên ku tişt bikar tîne azad bike, wek bidawîkirina girêdanên databasê an paqijkirina bîranînê. Wêranker di PHP-ê de bi hevoksaziya dualî (__) û peyva "hilweşandin" têne ragihandin. Divê "__destruct" navê rêbaza wêranker be. Li vir mînakek wêrankerek pola di çalakiyê de ye:

class Pet {
  public $nick_name;
  public $color;

  function __construct($name, $color) {
    $this->nick_name = $name;
    $this->color = $color;
  }
  function get_name() {
    return $this->nick_name;
  }
  function get_color() {
    return $this->color;
  }
  function __destruct() {
    echo "Goodbye, " . $this->nick_name . "!<br>";
  }
}

$cat = new Pet("Whiskers", "Black");
echo $cat->get_name();
echo "<br>";
echo $cat->get_color();

Di vê nimûneyê de, dema ku senaryo bi dawî dibe an jî tişta "Pet" tê hilweşandin, destruktor tavilê tê gazî kirin û "Bi xatirê te, Whiskers!" li ser ekranê.

Pêdivî ye ku meriv fêm bike ku di PHP-ê de, çêker û xeraker bi destan nayên kirin; ew bixweber têne gotin dema ku tiştek çêkirî an hilweşandin. Her weha hûn dikarin ji bo argumanên çêker nirxên xwerû diyar bikin. Mînakî, heke hûn dixwazin ku pîvana duyemîn a çêker vebijarkî be, hûn dikarin nirxek xwerû bi vî rengî diyar bikin:

function __construct($name,$color = "Black") {
$this->nick_name = $name;
$this->color = $color;
}

Di vê nimûneyê de, eger na giranî ji ber ku pîvana duyemîn tête peyda kirin dema ku tişt were afirandin, taybetmendiya "reng" bixweber dê bibe "Reş".

Di heman demê de girîng e ku meriv bala xwe bide ku heke pola zarok pola dêûbav dirêj bike û bixwaze bang çêkerê çîna dêûbavê di çêkera xwe de, ew dikare hevoksaziya "bav::__construct()" ji bo vê yekê bikar bîne. Ger çîna zarok çêkerê xwe tune be, çêkerê çîna dêûbav dê wekî fonksiyonek normal were mîras kirin, heya ku ew wekî taybet neyê ragihandin.

Di kurteya avaker û wêranker rêbazên taybetî ne ku ji bo destpêkirin û berdana çavkaniyên ji bo tiştên di PHP-ê de têne bikar anîn. Ew bixweber têne gazî kirin dema ku tiştek tê afirandin an hilweşandin û dikarin bêne bikar anîn da ku nirxên xwerû ji bo taybetmendiyên tiştan saz bikin an jî karên din bikin.

Q & A

Pirs: Di PHP de çêker çi ye?

A: Çêker fonksiyonek taybetî ye ku dema ku tiştek çînek çêbibe bixweber tê gazî kirin. Fonksiyona wê ya bingehîn ev e ku meriv taybetmendiyên objektê bide destpêkirin, wan li gorî nirxên xwerû an nirxên ku dema ku tişt tê afirandin wekî arguman têne danîn. Çêker bi bikaranîna hevoksaziya binî (__) ya ducarî ligel peyva "avakirin" têne destnîşan kirin, û divê navê rêbaza çêker "__construct" be.

Pirs: Di PHP-ê de çêkerek çawa tê ragihandin?
A: Avaker di PHP-ê de bi hevoksaziya dualî (__) û hevoka "avakirin" têne ragihandin. Divê "__construct" navê rêbaza çêker be.

Pirs: Armanca wêrankerek di PHP de çi ye?
A: Dema ku tiştek ji bîrê tê hilweşandin an jêbirin, rêbazek hilweşandî bixweber tê vexwendin. Fonksiyona wê ya bingehîn ew e ku çavkaniyên ku tişt bikar tîne azad bike, wek bidawîkirina girêdanên databasê an paqijkirina bîranînê.

Pirs: Di PHP de destruktorek çawa tê ragihandin?
A: Di PHP-ê de, wêranker bi karanîna hevoksaziya ducarî (__) digel peyva "hilweşandin" têne ragihandin. Navê rêbaza wêranker divê "__destruct" be.

Pirs: Ma em hewce ne ku di PHP-ê de bi destan gazî çêker û xerakeran bikin?
A: Na, çêker û wêranker dema ku tiştek çêdibe an jî tê hilweşandin bixweber têne gazî kirin û ne hewce ye ku em bi destan gazî wan bikin.

Pirs: Ma em dikarin ji bo parametreyên çêker di PHP de nirxên xwerû destnîşan bikin?
A: Erê, em dikarin PHP-ê bikar bînin ku ji bo argumanên çêker nirxên xwerû ava bikin. Mînakî, heke hûn dixwazin ku pîvana duyemîn a çêker vebijarkî be, hûn dikarin nirxek xwerû bi vî rengî diyar bikin:

function __construct($name, $color = "Black") {
    $this->nick_name = $name;
    $this->color = $color;
  }

Pirs: Çînek zarok çawa dikare di PHP de gazî çêkerê pola dêûbav bike?
A: Ger çînek zarok çîna dêûbav dirêj bike û bixwaze çêkerê çîna dêûbav di çêkerê xwe de gazî bike, ew dikare hevoksaziya "bav::__construct()" ji bo vê yekê bikar bîne.

Exercises:

  1. Çînek bi navê "Car" bi taybetmendiyên "çêkirin", "model", û "sal" û çêkerek ku van nirxan destnîşan dike dema ku tiştek nû tê afirandin biafirînin.
  2. Rêbazek li çîna "Car" bi navê "getDetails" zêde bikin ku çêk, model û sala gerîdeyê wekî rêzek vedigerîne.
  3. Çînek zarokê bi navê "ElectricCar" biafirînin ku çîna "Car" dirêj dike û ji bo "batteryLife" taybetmendiyek zêde heye û çêkerek ku vê nirxê destnîşan dike.
  4. Rêbazek li pola "ElectricCar" bi navê "getBatteryLife" zêde bikin ku nirxa taybetmendiya "batteryLife" vedigerîne.
  5. Tiştek ji çîna "ElectricCar" biafirînin û rêbazên ku we afirandine bikar bînin da ku hûrgulî û jiyana bateriya gerîdeyê nîşan bidin.

Bersiv:

1.

class Car {
  public $make;
  public $model;
  public $year;

  function __construct($make, $model, $year) {
    $this->make = $make;
    $this->model = $model;
    $this->year = $year;
  }
}

2.

class Car {
  public $make;
  public $model;
  public $year;

  function __construct($make, $model, $year) {
    $this->make = $make;
    $this->model = $model;
    $this->year = $year;
  }
  function getDetails() {
    return $this->make . " " . $this->model . " " . $this->year;
  }
}

3.

class ElectricCar extends Car {
  public $batteryLife;

  function __construct($make, $model, $year, $batteryLife) {
    parent::__construct($make, $model, $year);
    $this->batteryLife = $batteryLife;
  }
}

4.

class ElectricCar extends Car {
  public $batteryLife;

  function __construct($make, $model, $year, $batteryLife) {
    parent::__construct($make, $model, $year);
    $this->batteryLife = $batteryLife;
  }
  function getBatteryLife() {
    return $this->batteryLife;
  }
}

5.

$electricCar = new ElectricCar("Tesla", "Model S", 2022, 300);
echo $electricCar->getDetails();
echo "<br>";
echo "Battery Life: " . $electricCar->getBatteryLife();
OOP di PHP de: Rêberek Destpêkê
Di PHP de Guherkerên Gihîştinê
en English
X
Scroll to Top