Bonjour,
Tout est dans le titre, depuis que Authcomponent::user('id') a disparu de cakephp3, j'ai l'impression qu'on ne peut plus le faire.
J'ai vraiment besoin de récuperer l'identifiant de l'utilisateur connecté depuis un beforeSave dans un model associé.
La solution qui consisterait à le mettre dans l'entity depuis le controller avant la methode save (du style $machin->userid = $this->Auth->user('id') ) ne peut pas fonctionner dans mon cas de figure.

4 réponses


Hello.
Tu peux utiliser le plugin Footprint pour faire ça : https://github.com/UseMuffin/Footprint).

C'est un plugin développé par 2 développeurs du Core de CakePHP. Il permettra de faire ce que tu veux facilement à l'aide d'un behavior. Il marche sensiblement de la même manière que le behavior Timestamp du Core.
Son utilisation est détaillée dans le README.

Flitflit
Auteur

merci beaucoup, c'est dommage d'avoir rendu la chose si complexe.

Je crois que la raison principale de ce retrait est que vu que la classe qui gère les sessions a été complètement "refactorée" pour 3.0 et qu'elle n'est plus static, ça aurait été compliqué à conserver. C'est en tout cas la raison principale évoquée dans la PR qui a amené le retrait de ces méthodes static.

Plus d'infos :

Flitflit
Auteur

En effet, merci pour ces précisions.