Работа с объектами классов PHP PDF Печать E-mail

Копирование объектов

Так уж устроен PHP, что в нем все переменные, в том числе и объекты, всегда рассматриваются как простой набор значений и копируются целиком. Например, если у нас есть объект $a и мы выполняем оператор $b=$a, то все содержимое $a будет скопировано в $b один-в-один.

<?php
class A {
// Создаем новый метод:
function Test() {
echo "<h1>Hello!</h1>";
}
}
// Создаем объект класса A:
$a=new A();
// Копируем объект $a:
$b=$a;
// Теперь работаем с новым объектом $b
$b->Test(); // Выводит 'Hello!'
?>

Сравнение объектов

В PHP 4 объекты сравниваются очень просто: по именам. Два объекта равны, если они имеют те же самые свойства и значения, а также являются экземплярами одного и того же класса. Сравнение двух объектов осуществляют, используя оператор эквивалентности (===). Вот пример:

<?php
class A {
// Создаем новый метод:
function Test() {
echo "<h1>Hello!</h1>";
}
}

// Создаем объект класса A:
$a=new A();
// Создаем объект класса A:
$b=new A();
// Выводит 'Объекты равны':
if ($a===$b) echo "<h3>Объекты равны</h2>";
?>

Ссылки на объект

PHP позволяет создавать ссылки на объекты. Вот пример:

<?php
class A {
// Создаем новый метод:
function Test() {
echo "<h1>Hello!</h1>";
}
}

// Создаем объект класса A:
$a=new A();
// Ссылка на объект класса A:
$b=& new A();
$b->Test();
?>

Так как PHP5 является практически полноценным объектно-ориентированным языком, то в нем, соответственно, больше возможностей для работы с объектами.

По материалам сайта: http://www.php.su/