Класс - заготовка,

Объект - задействованный класс

Класс образует структуру, состоящую из данных и операций, которые используются для посторения объектов.

Структура классов

Структура класса: объявление класса, имя, присвоенное классу, в фигурных скобках - определения элементов, составляющих класс.

<?php
class MyClass {
//Свойства и методы класса
}
?>

 Создадим новый экземпляр класса и сохраним его в переменной

<?php
$obj = new MyClass;
?>

Для просмотра содержания переменной используем функцию var_dump;

<?php 
var_dump($obj);
?>

Определение свойств класса

Для добавления данных в класс используют свойства - переменные, специфичные для данного класса. Свойства работают аналогично обычным переменным, но жестко связаны с объектом, поэтому для доступа к ним должен использоваться сам объект.
Присваивать значения свойствам класса не обязательно.

<?php
class MyClass {
public $prop1 = "Это свойство класса";
}
$obj = new MyClass;
var_dump($obj);
?>

Для доступа к свойствам и методам класса, принадлежащих данному объекту, используют ( -> )

<?php
class MyClass {
public $prop1 = "Это свойство класса";
}
$obj = new MyClass;
echo $obj -> prop1;
?>

В ООП объекты могут ссылаться на самих себя с помощью конструкции $this. Используется точно так же, как использовали бы имя объекта вне класса.

 Методы - это функции, сспецифические для класса. Чтоб воспользоваться методом, его вызывают как обычную функцию с ссылкой на объект, которому метод принадлежит.

<?php
class MyClass {
public $prop1 = "Это свойство 1 класса MyClass.";

public function setProperty($newval) {

$this -> prop1 = $newval;
}

public function getProperty() {

return $this -> prop1."<br/>";

}
}
$obj = new MyClass;

//Получить значение свойства
echo $obj -> getProperty();

//Установить новое значение
$obj -> setProperty("Это новое свойство 1 класса MyClass.");

//Вновь прочитать свойство для демонстрации изменений
echo $obj -> getProperty();
?>

 Пример с двумя новыми объектами одного класса

<?php
class MyClass {
public $prop = "Свойство класса MyClass";
public function setProperty($newval) {
$this -> prop = $newval;
} 
public function getProperty() {
return $this -> prop."<br/>";
}
}
$obj1 = new MyClass;
$obj2 = new MyClass;
echo $obj1 -> getProperty();
echo $obj2 -> getProperty();
$obj1 -> setProperty('Новая переменная $obj1');
$obj2 -> setProperty('Новая переменная $obj2');
echo $obj1 -> getProperty();
echo $obj2 -> getProperty();
?>