PHP 5 about PHP 5 старт PHP 5 установка PHP 5 синтаксис PHP 5 змінні PHP 5 echo і print PHP 5 типи даних PHP 5 strings PHP 5 константи PHP 5 оператори PHP 5 if...else...elseif PHP 5 switch PHP 5 цикл while PHP 5 for і foreach PHP 5 функції PHP 5 масиви PHP 5 сортування масивів PHP 5 superglobals PHP 5 форми input PHP 5 форми обробка PHP 5 форми - обов'язкові поля PHP 5 форми - перевірка електронної пошти і URL РНР 5 форми заповнення PHP 5 багатовимірні масиви PHP 5 час і дата PHP 5 include PHP 5 файли обробка PHP 5 файли Open/Read/Close PHP 5 файли створення / запис PHP 5 файли завантаження PHP MySQL бази даних PHP MySQL Підключення PHP MySQL Створення бази даних PHP MySQL Створення таблиці PHP MySQL вставка даних PHP MySQL Отримання ідентифікатора останнього доданого запису PHP MySQL вставка кількох записів PHP MySQL Підготовлені вирази PHP MySQL відображення даних з таблиці PHP MySQL Видалення даних PHP MySQL оновлення даних PHP MySQL обмежити вибірку даних PHP регулярні вирази 1 PHP регулярні вирази 2 PHP регулярні вирази 3 PHP регулярні вирази 4 PHP ООП PHP ООП class PHP ООП модифікатори доступу PHP ООП extends PHP ООП статичні методи і властивості, константи PHP ООП abstract PHP ООП interface PHP альтернативний синтаксис керуючих конструкцій

PHP ООП статичні методи і властивості, константи


Крім звичайних методів з різними модифікаторами доступу клас може містити статичні методи. Такі методи позначаються ключовим словом static :

<?php

class User
{
    static function getClassInfo()
    {
        echo "Це клас User, описує користувача <br />";
    }
}

User::getClassInfo();   //  звернення до статичного методу з допомогою ::

?>

При виклику статичного методу використовується ім'я класу і оператор :: , замість операції доступу -> , так як статичний метод відноситься до всього класу, а не до конкретного об'єкта цього класу.

Поряд зі статичними методами клас може також мати статичні властивості. Знову ж таки статичні властивості відносяться до всього класу, а не до окремого об'єкту класу. Наприклад, використовуємо статичну властивість для створення лічильника об'єктів:

<?php

class User
{
    private $id;
    private static $counter = 0;

    function __construct()
    {
        self::$counter++;
        $this->id = self::$counter;
    }

    static function getCounter()
    {
        return self::$counter;
    }

    function getId()
    {
        return $this->id;
    }
}

$user1 = new User();
echo "Id першого користувача: " . $user1->getId() . "<br />";
$user2 = new User();
echo "Id другого користувача: " . $user2->getId() . "<br />";
echo "Всього користувачів: " . User::getCounter();

/*
Id першого користувача: 1
Id другого користувача: 2
Всього користувачів: 2
*/

?>

Для звернення до статичних властивостей зсередини класу використовується ключове слово self і операція :: , наприклад, self::$counter++ .

У конструкторі ми збільшуємо статичну змінну, а потім встановлюємо її значення для властивості $id .

Крім звичайних властивостей клас може мати константи. Константи представляють поля, значення яких не можна змінити. Для визначення констант використовується інструкція const :

<?php

class User
{
    const EMPLOYEE = 1;
    const MANAGER = 2;
    const ADMIN = 3;
}

echo User::MANAGER;  //  2

?>

Звернення до констант йде також, як і до статичних властивостей: User::MANAGER


Наш партнер:
beta test mp3 playlist downloader