Статичні властивості і методи в php
Дуже важливою особливістю ООП є наявність статичних властивостей і методів. Головне, що необхідно відразу зрозуміти, що такі властивості і методи належать не об`єкту, а класу. Це потрібно зрозуміти з самого початку, а ось застосування статичних властивостей і методів в PHP я розгляну в цій статті.
Самий класичний приклад - це клас, який відповідає за математичні функції. Якщо хтось знає Java, то він знає, що там є клас Math (в jаvascript такий клас теж є), що містить безліч математичних функцій. І там методи є статичними. Це означає, що для того, щоб порахувати який-небудь синус або експоненту, не потрібно створювати об`єкт даного класу, що дуже зручно.
Давайте ми з Вами напишемо зменшену копію даного класу, але тільки для PHP:
lt ;?php
classMath{
privatestatic $ count =0-
publicfunction __construct(){
self::$ count++-
}
publicstaticfunction calcSin($ x){
return sin($ x) -
}
publicstaticfunction calcSQRT($ x){
return sqrt($ x) -
}
publicstaticfunction getCount(){
returnself::$ count-
}
}
echo Math::calcSin(1) -
echo "
"-
echo Math::calcSQRT(9) -
echo "
"-
$ math =newMath() -
$ math_2 =newMath() -
echo Math::getCount() -
?gt;В даному коді я показав використання статичних методів і властивостей. Зверніть увагу, що я реалізував класичний спосіб лічильника об`єктів. Це вийшло лише завдяки тому, що поле count є статичним, і воно має одне і те ж значення для всіх об`єктів.
Ще один популярний приклад використання статичних методів і властивостей - це ведення журналу. Всі записи додаються через статичні методи. Також дуже часто роблять клас, що складається з безлічі налаштувань, і там також все поля є статичними. Як бачите, прикладів використання статичних методів і властивостей в PHP та іншими мовами більш, ніж достатньо, тому вміти з ними працювати треба обов`язково.
Як створити об`єкт по імені класу в php
Як використовувати інтерфейс countable в php.
Об`єкт math в jаvascript
Об`єкт number в jаvascript
Абстрактні класи в php
Метод tostring () в php
Вивчаємо coffeescript. Класи.
Серіалізация об`єктів в php.
Об`єкт object в jаvascript
Reflection api. Reflectionclass.
Об`єкт array в jаvascript
Модифікатори доступу в php
Клас для роботи з базою даних
Поняття ооп в jаvascript
Створення класу в php
Reflection api. Reflectionobject.
Reflection api. Reflectionmethod.
Об`єкти, прототипи і конструктори в мові jаvascript.
Математичні функції в php
Reflection api. Reflectionproperty.
Об`єкт date в jаvascript
Модифікатори доступу в php
Абстрактні класи в php
Reflection api. Reflectionproperty.
Метод tostring () в php
Reflection api. Reflectionclass.
Математичні функції в php
Створення класу в php
Серіалізация об`єктів в php.