Сейчас мы с вами научимся работать с объектами и их свойствами на более практическом примере.
Давайте сделаем класс User, который будет описывать пользователя (юзера) нашего сайта. Пусть у нашего пользователя будет два свойства: имя и возраст.
Давайте напишем код класса User:
<?php
class User
{
public $name; // свойство для имени
public $age; // свойство для возраста
}
?>
Пока наш класс ничего не делает - он просто описывает, что будут иметь объекты этого класса (в нашем случае каждый объект будет иметь имя и возраст). По сути, пока мы не создадим хотя бы один объект нашего класса - ничего полезного не произойдет.
Давайте же сделаем наш первый объект - представитель класса User:
<?php
// Объявляем класс:
class User
{
public $name;
public $age;
}
// Создаем объект нашего класса:
$user = new User;
?>
Обратите внимание на то, что классы принято называть большими буквами: User, а объекты этих классов - маленькими: $user. Кроме того, можно писать new User, а можно - new User() - разницы нет.
Давайте теперь что-нибудь запишем в свойства нашего объекта, а потом выведем эти данные на экран:
<?php
class User
{
public $name;
public $age;
}
$user = new User; // создаем объект нашего класса
$user->name = 'Коля'; // записываем имя в свойство name
$user->age = 25; // записываем возраст в свойство age
echo $user->name; // выводим записанное имя
echo $user->age; // выводим записанный возраст
?>
Как вы уже поняли - в свойства объекта можно что-то записывать и из свойств можно выводить их содержимое. Давайте теперь сделаем 2 объекта-юзера: 'Коля' и 'Вася', заполним их данными и выведем на экран сумму их возрастов:
<?php
class User
{
public $name;
public $age;
}
// Первый объект
$user1 = new User; // создаем первый объект
$user1->name = 'Коля'; // записываем имя
$user1->age = 25; // записываем возраст
// Второй объект
$user2 = new User; // создаем второй объект
$user2->name = 'Вася'; // записываем имя
$user2->age = 30; // записываем возраст
// Найдем сумму возрастов:
echo $user1->age + $user2->age; // выведет 55
?>
То, что мы сейчас сделали - очень важно: мы создали чертеж объекта (то есть класс в терминах ООП) и на основе этого чертежа можем сделать столько объектов, сколько нам нужно.
Сделайте класс Employee (работник), в котором будут следующие свойства - name (имя), age (возраст), salary (зарплата).
Создайте объект класса Employee, затем установите его свойства в следующие значения - имя 'Иван', возраст 25, зарплата 1000.
Создайте второй объект класса Employee, установите его свойства в следующие значения - имя 'Вася', возраст 26, зарплата 2000.
Выведите на экран сумму зарплат Ивана и Васи.
Выведите на экран сумму возрастов Ивана и Васи.