Создание класса

Объекты в ООП состоят из классов (англ. class). Классы содержат свойства (переменные класса) и методы (функции класса).

Пример создания класса:

class Lang
{
  // свойство
  public $version;

  // метод
  function showVersion()
  {
    return $this->version;
  }
}

$php = new Lang();
$php->version = 8.4;
echo $php->showVersion(); // 8.4

Переменная $this позволяет обращаться к свойствам и методам текущего класса.

По стандарту PSR-1 свойства и методы рекомендуется называть в стиле «camelCase».

Типизированные свойства

С версии PHP 7.4 стало возможно указывать тип свойствам.

class Lang
{
  // указываем тип свойства как "int"
  public int $version;
}

$php = new Lang();
$php->version = [8.4]; // устанавливаем значение как массив
// Fatal error: Uncaught TypeError: Cannot assign array to property Lang::$version of type int

В коде выше видно, что если свойству с типом «int» (число) попытаться присвоить значение как массив, то PHP выведет ошибку «неверный тип значения для свойства Lang::$version».

PHP при этом пытается конвертировать значение в указанный тип. Например, если задать значение «8» как строка, то PHP автоматически преобразует его как число.

class Lang
{
  // указываем тип свойства как "int" 
  public int $version;
}

$php = new Lang();
$php->version = '8'; // задаём значение как строка
var_dump($php->version); // int(8)

В коде выше видно, что хоть переменной и было задано значение как строка, PHP всё равно присвоело ему тип «int».