PHP-Fusion SF Russian Support Site
Навигация
Главная
Статьи
Загрузка файлов
FAQ
Полезные ссылки
Форум
Загрузка тем оформления
Поиск

О проекте

Инструкция по обновлению PHP-Fusion SF
Последние посетители
Andreasrqe 4 недель
Andreasyoe 4 недель
Andreasgzi 4 недель
DrovlesWonam 5 недель
agrohimwmm 6 недель
Sky 8 недель
Andreaselx 8 недель
Servicemsk 18 недель
Servicezgo 18 недель
Nyk 24 недель
RSS канал
Темы оформления
Все загружено тем: 331
Самая популярная тема: Milky Way Theme
Количество загрузок этой темы: 1686
milkyway_t1.jpg
 
Новая тема: Fiestafm.lt
fiestafm.lt_t1.png
Количество загрузок этой темы: 5
Дата последнего обновления: 11 Июля 2012, 20:28:02
Темы форума
Новые темы
IT-Company
Размещение отзывов
Жив ли наш фюжен?
Конкурс "Лучший сайт...
Переезд сайта!
Обсуждаемые темы
Вопрос/Ответ для ... [257]
Плагин видео ката... [214]
MP3 Архив v. 2.0 [211]
Обмен [207]
инет-магаз [149]
PHP 5 - клонирование объектов
Итак, в PHP 5 объекты передаются по ссылке. Однако, если же необходимо провести именно копирование объекта, как это делалось в PHP 4, то в PHP 5 придется явно использовать новый метод __clone(). При этом объект копируется со всеми своими методами, свойствами и их значениями:

class MyClass{
var $property;
}
$obj1 = new MyClass;
$obj1->property = 1;
$obj2 = clone $obj1;
echo $obj1->property; // Выводит 1
echo $obj2->property; // Выводит 1
$obj2->property = 2;
echo $obj2->property; // Выводит 2
?>

Следует обратить внимание на то, что к методу __clone() нельзя обратиться непосредственно и для копирования объекта используется ключевое слово clone.

Метод __clone() необязательно описывать в самом классе, однако его явное определение, т.е. перегрузка, позволит изменить значения свойств копируемого объекта:

class MyClass{
var $property;
function __clone() {
$this->property = 2;
}
}
$obj1 = new MyClass;
$obj1->property = 1;
$obj2 = clone $obj1;
echo $obj1->property; // Выводит 1
echo $obj2->property; // Выводит 2
?>

Метод __clone() не может принимать никакие аргументы, однако позволяет обратиться к исходному объекту через указатель $this и получаемому в результате копирования объекту через указатель $that.
Опубликовал snake_oriental 20 Июля 2008, 08:14:26 · 0 Комментариев · 25801 Прочтений · Для печати
Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Это интересно
Актуальная версия
PHP-Fusion 6.01.19.4
Логин
Имя

Пароль



Забыли пароль?
Запросите новый здесь.
Помощь/благодарность проекту


Z275115146629
R120645282232
E215148775742
Наша кнопка
Если вам захочется установить у себя нашу кнопку, мы будем Вам благодарны.

Сайт поддержки модифицированного PHP-Fusion

Код внутри
рекомендуем посетить