Sobes.tech
Junior — Middle

PHPде эки жогорку сызык менен башталган атайын ыкмаларды колдонуу тажрыйбасыңыз барбы?

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; // 'Иван' чыгарат

Сиқырдуу ыкмалар объекттердин жүрүм-турумун ийкемдүү башкарууга мүмкүндүк берет жана көбүнчө дизайн үлгүлөрүн ишке ашырууда же класстардын интерфейсин жөнөкөйлөтүүдө колдонулат.