Estoy escribiendo un módulo de pago para Magento 2 en este momento y lo estoy
comparando con el "Estándar de Codificación del Programa de Calidad de Extensión de Magento" CodeSniffer
( https://github.com/magento/marketplace-eqp ).
Para cada una de mis clases que utilizan un objeto de sesión (pago), CodeSniffer responde con la siguiente advertencia:
Session object MUST NOT be requested in constructor. It can only be passed as a method argument.
Estoy obteniendo el objeto de sesión de la siguiente manera:
/**
* 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;
}
¿Hay una forma correcta de obtener el objeto de sesión?
No pude encontrar nada en el código central de Magento 2.
Solo pude encontrar el código donde se usa exactamente de la misma manera que lo uso.
protected $checkoutSession;
antes de Constructor