Магічні методи і зумовлені константи в php

У PHP є набір спеціальних зумовлених констант і магічних методів для ваших проектів. На відміну від звичайних констант, які можна встановлювати за допомогою define (). значення зумовлених констант залежить від того, де вони використовуються, і є інформацією тільки для читання про код і PHP системі. Магічні методи можна використовувати в ваших класах для отримання доступу до спеціального функціоналу PHP.

В даному уроці ми розглянемо кілька корисних зумовлених констант і магічних методів з прикладами використання в коді.

зумовлені константи

Зумовлені константи використовуються для отримання інформації про вашому коді. Ім'я такий константи пишеться великими літерами між здвоєними підкресленнями, наприклад, __LINE__ і __FILE__. Ось кілька корисних зумовлених констант, доступних в PHP:

  • __LINE__ повертає номер рядка в початковому файлі, де використовується константа:
  • __FILE__ представляє ім'я файлу, включаючи повний шлях:
  • __DIR__ представляє тільки шлях до файлу:
  • __CLASS__ представляє ім'я поточного класу:
  • __FUNCTION__ представляє ім'я поточної функції:
  • __METHOD__ представляє ім'я поточного методу:
  • __NAMESPACE__ представляє ім'я поточного простору імен:

    магічні методи

    Магічні методи представляють гачки для спеціального функціоналу PHP. Їх імена пишуться маленькими літерами з двома попередніми підкресленнями, наприклад, __construct () і __destruct ().

    __construct () - магічний метод, який PHP викликає для створення екземпляра вашого класу. Він приймає будь-яку кількість аргументів.

    __destruct () - магічний метод, який викликається, коли об'єкт знищується колектором PHP. Даний метод не сприймає аргументів і зазвичай використовується для виконання спеціальних операцій, наприклад, для закриття з'єднання з базою даних.

    Наступні кілька магічних методів призначені для маніпуляцій з властивостями, і представляють спосіб для PHP обробити звернення до властивостей і методів, які було визначено (або недоступні).

    PHP викликає метод __get () в який отримує контексті, якщо властивість не визначено (або недоступне). Метод приймає один аргумент - ім'я властивості. Він повинен повернути значення, яке буде оброблятися як значення властивості.

    Метод __set () викликається для невизначеного властивості в заданому контексті. Даний метод приймає два аргументи, ім'я властивості і значення.

    У вище наведеному коді властивість name не визначене в класі. У коді робиться спроба призначити даній властивості значення "Alireza" і PHP викликає магічний метод __set (). Він отримує "name" в якості аргументу $ prop і "Alireza" як $ value. і зберігає значення в приватному масиві $ myArray. Метод __get () працює в схожій манері. При виведенні $ obj-> name викликається метод __get () і йому передається значення "name" як аргумент $ prop.

    Є й інші магічні методи, які допомагають маніпулювати недоступними властивостями, як у наведеному прикладі: __isset (). __unset () і __toString (). Обидва методи __isset () і __unset () запускаються функціями з такими ж іменами, але без підкреслень в PHP.

    __isset () перевіряє, встановлено властивість чи ні. Даний метод приймає один аргумент - властивість, яке треба перевірити. Метод __unset () приймає один аргумент, ім'я властивості, яке потрібно скинути.

    У багатьох випадках зручно уявлення об'єкта як рядки, наприклад, для виведення користувачеві або іншому процесу. Зазвичай PHP являє об'єкт як ідентифікатор в пам'яті, що погано для таких функцій. Метод __toString () допомагає уявити об'єкт як рядок. Метод запускається в багатьох ситуаціях, де об'єкт використовується як рядок, наприклад, echo "Hello $ obj". Також його можна викликати безпосередньо, як будь-який інший публічний метод.

  • s3ri0usman
    mr.esterio
  • Магічні методи і зумовлені константи в php

    За рахунок отримання інформації відразу по двох каналах (зір і слух) ефективність навчання значно перевершує навчання по книгах. А домашні завдання і онлайн-тести дозволять вам постійно думати на мові, що вивчається і відразу перевіряти свої знання!

    Магічні методи і зумовлені константи в php

    Магічні методи і зумовлені константи в php

    Якщо ви давно хочете як слід вивчити HTML, то у мене для Вас є чудова новина!

    Магічні методи і зумовлені константи в php

    Якщо ви вже вивчили HTML і хочете рухатися далі, то наступним кроком буде вивчення технології CSS.

    Магічні методи і зумовлені константи в php

    Якщо ви хочете розібратися з поняттями домену і хостингу, навчитися створювати бази даних, закачувати файли сайту на сервер по FTP, створювати піддомени, налаштовувати поштові скриньки для свого сайту і стежити за його відвідуваністю, то цей курс створений спеціально для вас!