Constructor agus Destructor ann am PHP

C
SSL earbsach bho dìreach $3.44
OOP ann am PHP - Ro-ràdh do Chlas agus Rudan
Mion-atharraichean ruigsinneachd ann am PHP

Anns an artaigil roimhe, tha sinn air bun-bheachdan clas agus nithean a chòmhdach. San oideachadh PHP seo, ionnsaichidh tu neach-togail agus sgriosadair anns a’ chlas PHP.

Dè a th ’ann an Constructor and Destructor ann an clas PHP?

Neach-togail

Mar a tha an t-ainm a ’moladh, tha togalach a’ togail nì. Is e fìor mhìneachadh neach-togail, tha e a ’tòiseachadh cuspair a’ chlas.

Mar a chuireas tu an neach-togail an cèill ann am PHP?

Gus neach-togail ainmeachadh ann am PHP, cleachd fo-sgrìobhadh dùbailte (__) còmhla ris an fhacal construct. Dèan cinnteach gum feum ainm an neach-togail a bhith “constructor”.

Mar eisimpleir

<?php
class Pet {
  public $nick_name;
  public $color;

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

$cat = new Pet("Cat");
echo $cat>get_name();
?>
  • Anns an eisimpleir gu h-àrd, bidh sinn a 'cruthachadh neach-togail le bhith a' cleachdadh fo-sgrìobhaidhean dùbailte.
  • Bidh sinn a’ cruthachadh nì, a bhios a’ cleachdadh an constructor gu fèin-ghluasadach agus ga cheangal le Cat.
  • Chan fheum sinn an gnìomh set_name a ghairm airson an t-ainm a shuidheachadh anns an nì cat.

Mar sin, tha e soilleir bhon chòmhradh gu h-àrd mun neach-togail ga dhèanamh furasta an nì a thòiseachadh agus chan eil feum air gnìomh neach-rèiteachaidh sam bith gus sin a dhèanamh.

Barrachd eisimpleirean mu neach-togail agus sgrios ann am PHP

<?php
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("Cat", "Brown");
echo $cat->get_name();
echo "<br>";
echo $cat->get_color();
?>
  • Anns an eisimpleir gu h-àrd, bidh sinn a’ cruthachadh constructor le dà pharamadair agus a’ tòiseachadh am far-ainm agus buadhan dath a’ chlas leis na paramadairean sin.
  • Bidh sinn a’ cruthachadh nì cat ùr agus a’ dol seachad air an dà pharamadair a dh’ fheumas an neach-togail. Dèan cinnteach, gus nì a chruthachadh, feumaidh e an àireamh de pharamadairean a rèir neach-togail a 'chlas dham buin e.
  • Às deidh dhuinn an nì a chruthachadh, rinn sinn deuchainn air le bhith a’ gairm get_name agus get_color setters a’ chlas. Cuiridh e a-mach ainm nì a’ chait mar “cat” agus an dath mar “donn”.

Gheibh thu an t-iomradh air na sgrìobhainnean neach-togail oifigeil ann am PHP an seo.

Bun-bheachd cudromach mu neach-togail

Tha OOP a ’ceadachadh an dòigh oighreachd leis an urrainn do chlas cloinne clas bun no clas pàrant a leudachadh. Còmhdaichidh sinn gu mionaideach e, oir airson a-nis, chan fheum sinn ach an tuairisgeul aige gus a ’bhun-bheachd a thuigsinn. Ma tha an clas pàiste a ’leudachadh a’ chlas phàrant agus ag iarraidh an neach-togail clas pàrant a ghairm san inneal-togail aige fhèin, dìreach cleachd pàrant :: construcor_name taobh a-staigh an inneal-togail aige.

Mura h-eil an neach-togail ann an clas na cloinne, bidh an neach-togail clas bunaiteach no pàrant air a shealbhachadh mar ghnìomh àbhaisteach mura h-eil e air ainmeachadh mar phrìobhaideach.

Ciamar a dhearbhas tu paramadair bunaiteach anns an neach-togail?

Mar a leughas tu gu h-àrd, faodaidh grunn pharaimearan a bhith aig neach-togail, a tha air an toirt seachad fhad ‘s a tha thu a’ cruthachadh an nì ga chleachdadh. Ach, ma tha thu airson paramadairean a dhèanamh nach eil riatanach a thoirt seachad fhad ‘s a tha thu a’ cruthachadh an nì, faodaidh tu luach bunaiteach paramadair an neach-togail a shuidheachadh. Mar eisimpleir.

public function __construct(int $x, int $y = 0) {
        $this->x = $x;
        $this->y = $y;
    }
  • Anns an eisimpleir gu h-àrd, tha $y air luach bunaiteach de 0 a thoirt seachad.
  • Ma thèid an nì $obj = clas ùr (2) a chruthachadh, cuiridh an neach-togail luach bunaiteach y gu 0.

Sgriosadair

Is e prìomh adhbhar an sgriosadair an rud a sgrios no a thoirt air falbh bhon chuimhne às deidh crìoch a chuir air a’ phrògram no às deidh crìoch a chuir air a ’phròiseas.

Ann am PHP, cha leig thu leas an t-inneal-sgrios a ghairm gus an cuimhne a tha na nithean air a shaoradh oir bidh e gu fèin-obrachail a ’gairm air an inneal-sgrios gus na nithean air fad a thoirt air falbh às deidh don sgriobt stad a chur air a choileanadh.

Ach, faodaidh tu innse don neach-sgrios teachdaireachd a chlò-bhualadh a chuidicheas tu gus dearbhadh no faighinn a-mach cuin a dh'iarras an sgriosadair agus dè an giullachd a thèid a dhèanamh taobh a-staigh an sgriosadair.

Thoir sùil air an eisimpleir a leanas gus sgriosadair ainmeachadh ann am PHP

<?php
class Pet {
  public $nick_name;
  public $color;

  function __construct($name) {
    $this->nick_name = $name;
  }
  function __destruct() {
    echo "The Pet is {$this->nick_name}.";
  }
}

$cat= new Pet("cat");
?>
  • Anns an eisimpleir gu h-àrd. bidh sinn a’ cruthachadh nì a’ cleachdadh an constructor.
  • Bidh sinn a’ clò-bhualadh cuid de theachdaireachd taobh a-staigh an dòigh desctruct.
  • Dèan deuchainn le bhith a 'ruith an sgriobt. Thoir sùil air toradh an sgriobt airson an teachdaireachd taobh a-staigh an destruct.

Eisimpleir eile de sgriosadair

<?php
class Pet {
  public $nick_name;
  public $color;

  function __construct($name, $color = "brown") {
    $this->name = $nick_name;
    $this->color = $color;
  }
  function __destruct() {
    echo "The Pet is {$this->nick_name} and its color is {$this->color}.";
  }
}

$cat =  new Pet("Cat");
?>
  • Anns an eisimpleir gu h-àrd, bidh sinn a’ cleachdadh an constructor gus an nì a stèidheachadh. Thoir fa-near gu bheil an neach-togail a’ gabhail ri dà pharamadair ach tha sinn a’ dol seachad air fear leis gu bheil an neach-togail a’ cleachdadh an luach àbhaisteach dath agus a’ sònrachadh a-steach do bhuadh dath an nì.
  • Clò-bhuail sinn cuid de theachdaireachd taobh a-staigh an dòigh desctruct còmhla ris am far-ainm agus dath.
  • Thoir sùil air toradh an sgriobt aig a’ phuing crìochnachaidh.

Cuideachd, faodaidh tu fios a chuir chun neach-sgrios gus cuid de ghnìomhan a choileanadh a dh’ fheumar a dhèanamh aig àm crìochnachaidh an sgriobt. Mar a bhith a’ dùnadh nan ceanglaichean Stòr-dàta no nithean srutha faidhle taobh a-muigh.

Bidh luchd-sgrios a ’coimhead sìmplidh a rèir sealladh gnìomhachaidh. Ach, tha pàirt deatamach aca ann a bhith a’ cumail a’ chuimhne sàbhailte bho aoidionachd.

Ma tha nì sam bith a ’fuireach anns a’ chuimhne às deidh crìoch a chuir air an sgriobt PHP, bidh e ag adhbhrachadh aodion cuimhne. Dh ’fhaodadh sin droch dhuilgheadasan adhbhrachadh, gu sònraichte airson tagraidhean air sgèile mhòr.

Gheibh thu an t-iomradh air na sgrìobhainnean oifigeil destructor ann am PHP an seo.

OOP ann am PHP - Ro-ràdh do Chlas agus Rudan
Mion-atharraichean ruigsinneachd ann am PHP

Lìonra Luchd-teagaisg

Sgaoil seo

Ionnsaich PHP bho A gu Z