Есть ли настройка PHP5, чтобы он копировал объекты по значению? - PullRequest
3 голосов
/ 16 июля 2009

Я застрял при переносе старого сайта, написанного на php4, на новый сервер моей компании, который поддерживает только php5. В php4 объекты копировались по значению, но в php5 это по ссылке. К сожалению для меня, человек, который изначально писал этот сайт, делал объекты из других слева и справа, а теперь это вызывает всевозможные проблемы. Есть ли настройка или что-то, что я могу изменить, чтобы php5 копировал по значению? Если нет, могу ли я:

А) начать писать конструкторы копирования для каждого объекта Б) найти и заменить на каждый "obj1 = obj2" и сделать его "obj1 = клон obj2" В) делать что-то еще?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 16 июля 2009

Вариант B - ваша лучшая ставка. PHP5 значительно переработал обработку объектов, поэтому если у вас есть код, который полагается конкретно на объекты, клонируемые с помощью присваивания PHP4, то, к сожалению, обновление кода до PHP5 метода клонирования - лучший способ мое мнение.

0 голосов
/ 16 июля 2009

Я думаю, что ответ может быть (B).

Я не уверен, что возможно создать конструкторы копирования, которые выполняют клонирование в PHP (и у меня нет машины для проверки), но мне было бы интересно, если вы можете.

...