Каковы причины, по которым PHP не предоставляет встроенную функцию глубокого копирования, такую ​​​​как Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Каковы причины, по которым PHP не предоставляет встроенную функцию глубокого копирования, такую ​​​​как Python?

Сообщение Anonymous »

Да, вы можете реализовать __clone и вручную вызывать clone для переменных, ссылающихся на объекты, но PHP не может делать это автоматически, например, функции is_object, is_array и другие подобные функции, необходимые для проверки, нужно ли нам делать глубокую копию или нет?
Я не прошу мнений. Я прошу веских технических (возможно, официальных) причин, почему эта функция не существует. Если это было предложено, можете ли вы предоставить ссылку?
Я предполагаю, что это может быть связано с циклическими ссылками, которые могут вызвать проблемы, но такая встроенная функция может, например. выдает ошибку, если обнаруживает циклическую ссылку или делает что-то еще, что может иметь смысл и которым, возможно, можно управлять с помощью какого-либо параметра.
Python предоставляет такую ​​функцию, как deepcopy, но Я также не очень знаком с его реализацией.
Пожалуйста, не указывайте
  • клон PHP по умолчанию делает неглубокую копию, и я могу переопределить __clone для выполнения глубокое копирование
  • Я могу использовать сериализацию и десериализацию для выполнения глубокого копирования, но это может быть не очень хорошей идеей с точки зрения производительности
  • Я могу использовать стороннюю библиотеку для выполнения глубокого копирования.
Меня интересуют только причины, по которым люди, отвечающие за PHP еще не решил добавить встроенную функцию глубокого копирования.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ion-like-p
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»