Projet

Général

Profil

Anomalie #6979

getContextController: modification de la fonction offsetGet afin de renvoyer la référence de la variable au lieu d'une copie

Ajouté par Moez Marrakchi il y a environ 2 ans. Mis à jour il y a plus d'un an.

Statut:
Intégré
Priorité:
Normal
Assigné à:
Version cible:
Début:
03/05/2017
Echéance:
% réalisé:

100%

Version source:
Solution proposée:
Principaux fichiers impactés:
Complexité:
Contrôle:
Régression:
Non
Thèmes UIs:
Template
Jalons: 3.2 R17, 3.2 R18

Description

Le contrôleur de getContextController (Dcp\Ui\DocumentTemplateContext) implémente ArrayAccess. Lorsqu'on récupère une variable/un élément du "tableau", la fonction offsetGet est utilisée et renvoie une copie de l'élément. Ce qui implique qu'aucune modification est possible sur l'élément récupéré. Une amélioration serait de renvoyer une référence de l'élément afin de pourvoir le modifier.

Exemple:
Si on initialise un tableau "Element" dans le contrôleur
-->$controller["Element"] = array (); // Tableau vide
On lui affecte une valeur
-->$controller["Element"][] = array(a,b,c)
Le tableau $controller["Element"] est toujours un tableau vide car l'affectation à eu lieu sur la copie de l'élement.

Note :
conformément à la documentation PHP, l'implémentation est libre de choisir un passage par copie ou par référence

Lien Doc :
http://docs.anakeen.com/dynacase/3.2/ddui-ref/ddui-ref:35cdd158-f089-4701-b282-8a1bbc853803.html?q=getContextController#ddui-ref:b5853d4d-79c5-4393-a974-e290cc4a11f8

Historique

#1 Mis à jour par Matthieu Codron il y a environ 2 ans

  • Description mis à jour (diff)

#2 Mis à jour par Charles Bonnissent il y a plus d'un an

  • Régression mis à Non
  • Tracker changé de Amélioration à Anomalie

#3 Mis à jour par Marc Claverie il y a plus d'un an

  • Version cible mis à 1.1.0

#5 Mis à jour par Éric Brison il y a plus d'un an

  • % réalisé changé de 0 à 100

#6 Mis à jour par Éric Brison il y a plus d'un an

  • Assigné à mis à Éric Brison

#7 Mis à jour par Éric Brison il y a plus d'un an

  • Statut changé de Nouveau à Intégré

Appliqué par commit commit:dynacase-document-uis|da116e6aab1513b8b62f7857c1483e94892e5f44.

Formats disponibles : Atom PDF