базовый курс

ГРУППА КУРСА

Объекты

В PHP реализовано объектно-ориентированное программирование. Поэтому тема объектов большая и сложная. Но в данном курсе ООП не изучается. Поэтому учебник PHP содержит лишь самую необходимую информацию об объектах.

Создание объектов

Объекты в языке PHP создаются по классу. Понятия объекта и класса объектов рассматривались в учебнике JavaScript. Каждый объект является экземпляром какого-то класса объектов. Пример:

+
1
2
<?php
header('Content-type: text/html; charset=utf-8');
3
4
5
6
7
8
9
class Users //создаём класс
  {
  public $name;
  public $prof;
  }

$user = new Users; //создаём объект класса

Класс создаётся с помощью выражения class, после которого пишется имя класса. Далее в фигурных скобках перечисляются свойства и методы. Эти свойства и методы будут у всех объектов класса. Когда класс создан, можно использовать выражение new для создания объекта этого класса.

При добавлении свойств использовано ключевое слово public. Оно определяет область видимости свойства. Возможны такие варианты:

public - свойство доступно в любом месте скрипта

protected - разрешает доступ к свойству внешним и внутренним классам

private - свойство доступно только объектам класса

Если Вы не используете ООП, то можно в это не вникать, пишите модификатор public.

Свойства

Для обращения к свойствам объекта нужно написать имя объекта, затем "->" и название свойства. Установим значения свойств созданного объекта:

10
11
12
$user->name = "Николай";
$user->prof = "Повар";
echo $user->name;

Любому объекту можно добавить свои свойства и методы. Добавим объекту user свойство mail.

15
$user->mail = 'nik@mail.ru';

У объекта user появилось новое свойство, и этим он отличается от других объектов своего класса. Но он продолжает относиться к этому классу.

Свойствам класса можно задать значения по умолчанию. Это делается при создании класса. Свойства всех объектов класса сразу получают эти значения. В дальнейшем их можно изменить.

Методы

При написании методов часто используется псевдо-переменная $this. Для любого объекта это указание на сам этот объект. Через неё объект может обращаться к своим свойствам. Например, для объекта my_obj:

строка $this -> num

равнозначна строке $my_obj -> num

В методах конкретного объекта можно обойтись без переменной $this и просто написать имя объекта. А вот в методах класса она необходима. Она используется для того, чтобы каждый объект класса обращался именно к своим свойствам. Для примера, добавим метод классу Users. Создание класса будет выглядеть так:

3
4
5
6
7
8
9
10
11
class Users
  {
  public $name;
  public $prof;
  public function inform ()
    {
    echo 'Имя: '.$this->name.', профессия: '.$this->prof;
    }
  }

Теперь у всех объектов класса есть метод inform() Вызовем его для объекта user. Только сделаем это после того, как его свойства получат значения:

18
19
echo '<br>';
$user->inform();