New

Для создания экземпляра класса должен быть создан новый объект и он должен быть присвоен переменной. Объект всегда будет присваиваться переменной при создании, кроме случаев, когда объект имеет конструктор, определенный для генерации ошибки. Классы должны быть определены до создания их экземпляров (а в некоторых случаях это является требованием).

Создание экземпляра класса

<?php
$instance = new SimpleClass();
?>

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

Присвоение объекта

<?php
$assigned = $instance;
$reference =& $instance;

$instance->var = '$assigned получит это значение';

$instance = null; // $instance и $reference станут null
var_dump($instance);
var_dump($reference);
var_dump($assigned);
?>

Результат выполнения данного примера:

NULL
NULL
object(SimpleClass)#1 (1) {
["var"]=>
string(30) "$assigned получит это значение"
}