J'écris un module de paiement pour Magento 2 en ce moment et je le
compare au CodeSniffer "Magento Extension Quality Program Coding Standard"
( https://github.com/magento/marketplace-eqp ).
Pour chacune de mes classes qui utilisent un objet de session (d'extraction), le CodeSniffer répond avec l'avertissement suivant:
Session object MUST NOT be requested in constructor. It can only be passed as a method argument.
J'obtiens l'objet session de la manière suivante:
/**
* Checkout session object
*
* @var \Magento\Checkout\Model\Session
*/
protected $checkoutSession;
/**
* Constructor
*
* @param \Magento\Checkout\Model\Session $checkoutSession
* @return void
*/
public function __construct(\Magento\Checkout\Model\Session $checkoutSession)
{
$this->checkoutSession = $checkoutSession;
}
Existe-t-il un moyen correct d'obtenir l'objet de session?
Je n'ai rien trouvé dans le code de base de Magento 2.
Je n'ai pu trouver du code que là où il est utilisé exactement de la même manière que je l'utilise.
protected $checkoutSession;
avant Constructor