Sobes.tech
Junior — Middle

Программалоодо 'сыйырчы функциялар' деген эмне экенин түшүндүрө аласызбы?

sobes.tech AI

AIден жооп

PHPде "сыйырдуу функциялар" (сыйырдуу ыкмалар) атайын ыкмалар болуп саналат, алардын аттары эки астыңкы сызыктан (__) башталат жана аяктайт. Алар автоматтык түрдө интерпретатор тарабынан белгилүү учурларда чакырылат, бул объекттердин жүрүм-турумун өзгөртүүгө мүмкүндүк берет.

Сыйырдуу ыкмаларга мисалдар:

  • __construct() — класс конструктору.
  • __destruct() — деструктор.
  • __get($name) — жок же жеткиликтүү эмес мүчөга кирүүдө чакырылат.
  • __set($name, $value) — жок же жеткиликтүү эмес мүчөгө жазууда чакырылат.
  • __call($name, $arguments) — жок же иштелип чыккан эмес метод чакырылганда чакырылат.
  • __toString() — объект кандайча сапка айландырыларын аныктоого мүмкүндүк берет.

__get жана __set колдонуу мисалы:

class User {
    private $data = [];

    public function __get($name) {
        return $this->data[$name] ?? null;
    }

    public function __set($name, $value) {
        $this->data[$name] = $value;
    }
}

$user = new User();
$user->name = 'Иван';
echo $user->name;  // Иван

Мындай жол менен, сыйырдуу ыкмалар объекттердин жүрүм-турумун ийкемдүү башкарууга жана алардын ишин белгилүү сценарийлерде жеңилдетүүгө мүмкүндүк берет.