PHP ನಲ್ಲಿ ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಮತ್ತು ಡಿಸ್ಟ್ರಕ್ಟರ್

C

ಹಿಂದಿನ ಲೇಖನದಲ್ಲಿ, ನಾವು ವರ್ಗ ಮತ್ತು ವಸ್ತುಗಳ ಮೂಲ ಪರಿಕಲ್ಪನೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಈ PHP ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ, ನೀವು PHP ವರ್ಗದಲ್ಲಿ ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಮತ್ತು ಡಿಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ಕಲಿಯುವಿರಿ.

PHP ವರ್ಗದಲ್ಲಿ ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಮತ್ತು ಡಿಸ್ಟ್ರಕ್ಟರ್ ಎಂದರೇನು?

ನಿರ್ಮಾಣಕಾರ

ಹೆಸರೇ ಸೂಚಿಸುವಂತೆ, ರಚನೆಯು ವಸ್ತುವನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ. ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್‌ನ ನಿಜವಾದ ವ್ಯಾಖ್ಯಾನವೆಂದರೆ, ಇದು ವರ್ಗದ ವಸ್ತುವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ.

PHP ಯಲ್ಲಿ ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ಹೇಗೆ ಘೋಷಿಸುವುದು?

PHP ಯಲ್ಲಿ ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ಘೋಷಿಸಲು, ಕನ್ಸ್ಟ್ರಕ್ಟ್ ಎಂಬ ಪದದ ಜೊತೆಗೆ ಡಬಲ್ ಅಂಡರ್‌ಸ್ಕೋರ್ (__) ಅನ್ನು ಬಳಸಿ. ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್‌ನ ಹೆಸರು "ಕನ್ಸ್ಟ್ರಕ್ಟರ್" ಆಗಿರಬೇಕು ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.

ಉದಾಹರಣೆಗೆ

<?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();
?>
  • ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು ಡಬಲ್ ಅಂಡರ್‌ಸ್ಕೋರ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ.
  • ನಾವು ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ, ಅದು ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬಳಸುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಕ್ಯಾಟ್‌ನೊಂದಿಗೆ ಇಂಟಿಯಲ್ ಮಾಡುತ್ತದೆ.
  • ಬೆಕ್ಕು ವಸ್ತುವಿನಲ್ಲಿ ಹೆಸರನ್ನು ಹೊಂದಿಸಲು ನಾವು set_name ಕಾರ್ಯವನ್ನು ಕರೆಯುವ ಅಗತ್ಯವಿಲ್ಲ.

ಆದ್ದರಿಂದ, ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್‌ನ ಕುರಿತು ಮೇಲಿನ ಚರ್ಚೆಯಿಂದ ಅದು ಸ್ಪಷ್ಟವಾಗಿದೆ ವಸ್ತುವನ್ನು ಪ್ರಾರಂಭಿಸಲು ಸುಲಭವಾಗುತ್ತದೆ ಮತ್ತು ಹಾಗೆ ಮಾಡಲು ಯಾವುದೇ ಸೆಟ್ಟರ್ ಕಾರ್ಯ ಅಗತ್ಯವಿಲ್ಲ.

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();
?>
  • ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು ಎರಡು ನಿಯತಾಂಕಗಳೊಂದಿಗೆ ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ ಮತ್ತು ಈ ಪ್ಯಾರಾಮ್‌ಗಳೊಂದಿಗೆ ವರ್ಗದ ಅಡ್ಡಹೆಸರು ಮತ್ತು ಬಣ್ಣದ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ.
  • ನಾವು ಹೊಸ ಬೆಕ್ಕಿನ ವಸ್ತುವನ್ನು ರಚಿಸುತ್ತೇವೆ ಮತ್ತು ಕನ್ಸ್ಟ್ರಟರ್ಗೆ ಅಗತ್ಯವಿರುವ ಎರಡು ನಿಯತಾಂಕಗಳನ್ನು ರವಾನಿಸುತ್ತೇವೆ. ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸಲು, ಅದು ಸೇರಿರುವ ವರ್ಗದ ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್‌ಗೆ ಅನುಗುಣವಾಗಿ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳ ಸಂಖ್ಯೆಯ ಅಗತ್ಯವಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
  • ವಸ್ತುವನ್ನು ರಚಿಸಿದ ನಂತರ, ವರ್ಗದ get_name ಮತ್ತು get_color setters ಗೆ ಕರೆ ಮಾಡುವ ಮೂಲಕ ನಾವು ಅದನ್ನು ಪರೀಕ್ಷಿಸಿದ್ದೇವೆ. ಇದು ಬೆಕ್ಕಿನ ವಸ್ತುವಿನ ಹೆಸರನ್ನು "ಬೆಕ್ಕು" ಮತ್ತು ಅದರ ಬಣ್ಣವನ್ನು "ಕಂದು" ಎಂದು ಔಟ್ಪುಟ್ ಮಾಡುತ್ತದೆ.

ನೀವು PHP ನಲ್ಲಿ ಅಧಿಕೃತ ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ದಸ್ತಾವೇಜನ್ನು ಉಲ್ಲೇಖವನ್ನು ಕಾಣಬಹುದು ಇಲ್ಲಿ.

ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಬಗ್ಗೆ ಪ್ರಮುಖ ಪರಿಕಲ್ಪನೆ

OOP ಆನುವಂಶಿಕತೆಯ ಕಾರ್ಯವಿಧಾನವನ್ನು ಅನುಮತಿಸುತ್ತದೆ, ಅದರ ಮೂಲಕ ಮಕ್ಕಳ ವರ್ಗವು ಮೂಲ ವರ್ಗ ಅಥವಾ ಪೋಷಕ ವರ್ಗವನ್ನು ವಿಸ್ತರಿಸಬಹುದು. ನಾವು ಅದನ್ನು ವಿವರವಾಗಿ ಕವರ್ ಮಾಡುತ್ತೇವೆ, ಸದ್ಯಕ್ಕೆ, ಪರಿಕಲ್ಪನೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ನಮಗೆ ಅದರ ವಿವರಣೆಯ ಅಗತ್ಯವಿದೆ. ಮಕ್ಕಳ ವರ್ಗವು ಪೋಷಕ ವರ್ಗವನ್ನು ವಿಸ್ತರಿಸುತ್ತಿದ್ದರೆ ಮತ್ತು ಅದರ ಸ್ವಂತ ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್‌ನಲ್ಲಿ ಪೋಷಕ ವರ್ಗದ ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ಕರೆಯಲು ಬಯಸಿದರೆ, ಅದರ ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್‌ನೊಳಗೆ ಪೋಷಕ ::construcor_name ಅನ್ನು ಬಳಸಿ.

ಮಕ್ಕಳ ವರ್ಗವು ಅದರ ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ, ಬೇಸ್ ಅಥವಾ ಪೋಷಕ ವರ್ಗದ ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ಖಾಸಗಿ ಎಂದು ಘೋಷಿಸದಿದ್ದರೆ ಸಾಮಾನ್ಯ ಕಾರ್ಯವಾಗಿ ಆನುವಂಶಿಕವಾಗಿ ಪಡೆಯಲಾಗುತ್ತದೆ.

ಕನ್ಸ್ಟ್ರಕ್ಟರ್‌ನಲ್ಲಿ ಡೀಫಾಲ್ಟ್ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಹೇಗೆ ಘೋಷಿಸುವುದು?

ನೀವು ಮೇಲೆ ಓದಿದಂತೆ, ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್ ಬಹು ನಿಯತಾಂಕಗಳನ್ನು ಹೊಂದಬಹುದು, ಅದನ್ನು ಬಳಸಿಕೊಂಡು ವಸ್ತುವನ್ನು ರಚಿಸುವಾಗ ಒದಗಿಸಲಾಗುತ್ತದೆ. ಆದರೆ, ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸುವಾಗ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳನ್ನು ಒದಗಿಸುವುದು ಕಡ್ಡಾಯವಲ್ಲ ಎಂದು ನೀವು ಬಯಸಿದರೆ, ನೀವು ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್ ಪ್ಯಾರಾಮೀಟರ್‌ನ ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ.

public function __construct(int $x, int $y = 0) {
        $this->x = $x;
        $this->y = $y;
    }
  • ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, $y ಗೆ 0 ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯವನ್ನು ನಿಗದಿಪಡಿಸಲಾಗಿದೆ.
  • ವಸ್ತು $obj = ಹೊಸ ವರ್ಗ (2) ಅನ್ನು ರಚಿಸಿದರೆ, y ನ ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯವನ್ನು ಕನ್ಸ್ಟ್ರಕ್ಟರ್‌ನಿಂದ 0 ಗೆ ಹೊಂದಿಸುತ್ತದೆ.

ವಿನಾಶಕ

ಪ್ರೋಗ್ರಾಂನ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಿದ ನಂತರ ಅಥವಾ ಪ್ರಕ್ರಿಯೆಯು ಕೊನೆಗೊಂಡ ನಂತರ ಮೆಮೊರಿಯಿಂದ ವಸ್ತುವನ್ನು ನಾಶಪಡಿಸುವುದು ಅಥವಾ ತೆಗೆದುಹಾಕುವುದು ಡಿಸ್ಟ್ರಕ್ಟರ್ನ ಮುಖ್ಯ ಉದ್ದೇಶವಾಗಿದೆ.

PHP ಯಲ್ಲಿ, ಆಬ್ಜೆಕ್ಟ್‌ಗಳಿಂದ ತೆಗೆದ ಮೆಮೊರಿಯನ್ನು ಮುಕ್ತಗೊಳಿಸಲು ನೀವು ಡಿಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ಕರೆಯುವ ಅಗತ್ಯವಿಲ್ಲ ಏಕೆಂದರೆ ಸ್ಕ್ರಿಪ್ಟ್ ಅದರ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಿದ ನಂತರ ಎಲ್ಲಾ ವಸ್ತುಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಡಿಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕರೆಯುತ್ತದೆ.

ಆದಾಗ್ಯೂ, ಡಿಸ್ಟ್ರಕ್ಟರ್ ಯಾವಾಗ ಕರೆ ಮಾಡುತ್ತಾನೆ ಮತ್ತು ಡಿಸ್ಟ್ರಕ್ಟರ್‌ನಲ್ಲಿ ಯಾವ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಮಾಡಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಮೌಲ್ಯೀಕರಿಸಲು ಅಥವಾ ಪರಿಶೀಲಿಸಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುವ ಕೆಲವು ಸಂದೇಶವನ್ನು ಮುದ್ರಿಸಲು ಡಿಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ನೀವು ಘೋಷಿಸಬಹುದು.

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");
?>
  • ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ. ನಾವು ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಬಳಸಿ ವಸ್ತುವನ್ನು ರಚಿಸುತ್ತೇವೆ.
  • ನಾವು ಡಿಸ್ಟ್ರಕ್ಟ್ ವಿಧಾನದಲ್ಲಿ ಕೆಲವು ಸಂದೇಶಗಳನ್ನು ಮುದ್ರಿಸುತ್ತೇವೆ.
  • ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ರನ್ ಮಾಡುವ ಮೂಲಕ ಪರೀಕ್ಷಿಸಿ. ಡಿಸ್ಟ್ರಕ್ಟ್ ಒಳಗೆ ಸಂದೇಶಕ್ಕಾಗಿ ಸ್ಕ್ರಿಪ್ಟ್‌ನ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಗಮನಿಸಿ.

ವಿಧ್ವಂಸಕನ ಇನ್ನೊಂದು ಉದಾಹರಣೆ

<?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");
?>
  • ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಇಂಟಿಯಲ್ ಮಾಡಲು ನಾವು ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ. ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಎರಡು ಪ್ಯಾರಾಮೀಟರ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತಾರೆ ಆದರೆ ನಾವು ಅದನ್ನು ಒಂದನ್ನು ರವಾನಿಸುತ್ತಿದ್ದೇವೆ ಏಕೆಂದರೆ ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್ ಬಣ್ಣದ ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯವನ್ನು ಬಳಸುತ್ತಾರೆ ಮತ್ತು ವಸ್ತುವಿನ ಬಣ್ಣ ಗುಣಲಕ್ಷಣಕ್ಕೆ ನಿಯೋಜಿಸುತ್ತಾರೆ.
  • ಅಡ್ಡಹೆಸರು ಮತ್ತು ಬಣ್ಣದೊಂದಿಗೆ ಡಿಸ್ಕ್ರಕ್ಟ್ ವಿಧಾನದೊಳಗೆ ನಾವು ಕೆಲವು ಸಂದೇಶವನ್ನು ಮುದ್ರಿಸುತ್ತೇವೆ.
  • ಮುಕ್ತಾಯ ಹಂತದಲ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್‌ನ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಗಮನಿಸಿ.

ಅಲ್ಲದೆ, ಸ್ಕ್ರಿಪ್ಟ್ ಮುಕ್ತಾಯದ ಸಮಯದಲ್ಲಿ ಮಾಡಬೇಕಾದ ಕೆಲವು ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸಲು ನೀವು ಡಿಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ಕರೆಯಬಹುದು. ಡೇಟಾಬೇಸ್ ಸಂಪರ್ಕಗಳನ್ನು ಅಥವಾ ಬಾಹ್ಯ ಫೈಲ್ ಸ್ಟ್ರೀಮ್ ಆಬ್ಜೆಕ್ಟ್‌ಗಳನ್ನು ಮುಚ್ಚುವಂತೆ.

ಅನುಷ್ಠಾನದ ದೃಷ್ಟಿಕೋನಕ್ಕೆ ಅನುಗುಣವಾಗಿ ವಿಧ್ವಂಸಕರು ಸರಳವಾಗಿ ಕಾಣುತ್ತಾರೆ. ಆದಾಗ್ಯೂ, ಸೋರಿಕೆಯಿಂದ ಮೆಮೊರಿಯನ್ನು ಸುರಕ್ಷಿತವಾಗಿರಿಸಲು ಅವು ಪ್ರಮುಖ ಪಾತ್ರವಹಿಸುತ್ತವೆ.

PHP ಸ್ಕ್ರಿಪ್ಟ್‌ನ ಮುಕ್ತಾಯದ ನಂತರ ಯಾವುದೇ ವಸ್ತುವು ಮೆಮೊರಿಯಲ್ಲಿ ನೆಲೆಸಿದ್ದರೆ, ಅದು ಮೆಮೊರಿ ಸೋರಿಕೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಅದು ಗಂಭೀರ ಸಮಸ್ಯೆಗಳನ್ನು ಉಂಟುಮಾಡಬಹುದು, ವಿಶೇಷವಾಗಿ ದೊಡ್ಡ-ಪ್ರಮಾಣದ ಅನ್ವಯಗಳಿಗೆ.

ನೀವು PHP ನಲ್ಲಿ ಅಧಿಕೃತ ಡಿಸ್ಟ್ರಕ್ಟರ್ ದಸ್ತಾವೇಜನ್ನು ಉಲ್ಲೇಖವನ್ನು ಕಾಣಬಹುದು ಇಲ್ಲಿ.

ಅಭಿಪ್ರಾಯ ಸೇರಿಸು

ಟ್ಯೂಟರ್ ನೆಟ್ವರ್ಕ್

A ನಿಂದ Z ವರೆಗೆ PHP ಕಲಿಯಿರಿ