Ben déjà ça offre de pas devoir le faire explicitement. Et quasiment tout le paradigme FP repose dessus.
Tiens par exemple, tu veux cloner une collection de modèles, il va te falloir implémenter ton pattern memento récursif. Ensuite j'avoue que en PHP single-thread on ne verra pas vraiment les avantages, vu qu'on recrée le monde à chaque requête.
Edit: bon pas très convaincant je me rends compte. Le pattern memento est quand même sympa. D'ailleurs, il est beaucoup plus facile à implémenter dans un langage dont les données sont immutables ! Mais il faut faire attention, en PHP, quand tu reviens en arrière sur un objet, tous les autres objets auxquels tu avait passé la référence de ta première copie doivent être modifiés pour pointer vers la nouvelle copie. Typiquement une collection et un modèle.
Tiens par exemple, tu veux cloner une collection de modèles, il va te falloir implémenter ton pattern memento récursif. Ensuite j'avoue que en PHP single-thread on ne verra pas vraiment les avantages, vu qu'on recrée le monde à chaque requête.
Edit: bon pas très convaincant je me rends compte. Le pattern memento est quand même sympa. D'ailleurs, il est beaucoup plus facile à implémenter dans un langage dont les données sont immutables ! Mais il faut faire attention, en PHP, quand tu reviens en arrière sur un objet, tous les autres objets auxquels tu avait passé la référence de ta première copie doivent être modifiés pour pointer vers la nouvelle copie. Typiquement une collection et un modèle.