Sto scrivendo un modulo di pagamento per Magento 2 in questo momento e lo sto confrontando con il
CodeSniffer "Standard di codifica del programma di qualità di estensione Magento"
( https://github.com/magento/marketplace-eqp ).
Per ciascuna delle mie classi che utilizzano un oggetto sessione (di pagamento), CodeSniffer risponde con il seguente avviso:
Session object MUST NOT be requested in constructor. It can only be passed as a method argument.
Ricevo l'oggetto sessione nel modo seguente:
/**
* 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;
}
Esiste un modo corretto per ottenere l'oggetto sessione?
Non sono riuscito a trovare nulla nel codice core di Magento 2.
Ho trovato il codice solo dove è usato esattamente come lo uso io.
protected $checkoutSession;
prima del Costruttore