Maison > Questions et réponses > le corps du texte
P粉1357999492023-07-29 15:10:32
$scope($this->documents ??= new Documents());
De cette façon, la référence inclut à la fois la propriété et la classe que vous souhaitez y utiliser. C'est généralement mieux que d'utiliser une chaîne représentant les deux (et de perdre également les références aux propriétés concrètes et aux noms de classes concrètes).
Ce que vous faites ici est également connu sous le nom d'initialisation paresseuse. Le problème est que le mot-clé new est utilisé dans la classe, ce qui rend le code difficile à tester. Il s’agit néanmoins d’une amélioration par rapport au travail avec des chaînes.
Vous pourriez également être intéressé par le nouveau @mixin dans PhpStorm
Cela peut vous permettre d'omettre l'injection du callable, mais je ne sais pas exactement ce que vous obtenez exactement avec cette approche, il ne s'agit donc que d'un conseil supplémentaire et peut ne pas répondre à vos besoins.
Référence :