Tôi đang viết một mô-đun thanh toán cho Magento 2 ngay bây giờ và tôi đang kiểm tra nó theo
"Tiêu chuẩn mã hóa chương trình chất lượng mở rộng Magento" CodeSniffer
( https://github.com/magento/marketplace-eqp ).
Đối với mọi lớp học của tôi đang sử dụng một đối tượng phiên (thanh toán), CodeSniffer trả lời với cảnh báo sau:
Session object MUST NOT be requested in constructor. It can only be passed as a method argument.
Tôi nhận được đối tượng phiên theo cách sau:
/**
* 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;
}
Có một cách chính xác để có được đối tượng phiên?
Tôi không thể tìm thấy bất cứ điều gì trong mã lõi Magento 2.
Tôi chỉ có thể tìm thấy mã nơi nó được sử dụng chính xác giống như cách tôi sử dụng nó.
protected $checkoutSession;
trước Người xây dựng