ठीक है, थोड़ी देर बाद मैंने पाया कि मामले में किसी और को इसकी आवश्यकता है .. Magento तात्कालिक वस्तुओं के लिए एक और दृष्टिकोण का उपयोग करता है, Magento 1.x में वस्तुओं को तत्काल करने का पारंपरिक तरीका "Mage :: getModel (..)" का उपयोग कर रहा था, यह Magento 2 में बदल गया है। अब Magento के ऑब्जेक्ट मैनेजर का उपयोग objets को तत्काल करने के लिए करता है, मैं विवरण में दर्ज नहीं करूंगा कि यह कैसे काम करता है .. इसलिए, Magento 2 में ग्राहक बनाने के लिए समान कोड इस तरह दिखेगा:
<?php
namespace ModuleNamespace\Module_Name\Controller\Index;
class Index extends \Magento\Framework\App\Action\Action
{
/**
* @var \Magento\Store\Model\StoreManagerInterface
*/
protected $storeManager;
/**
* @var \Magento\Customer\Model\CustomerFactory
*/
protected $customerFactory;
/**
* @param \Magento\Framework\App\Action\Context $context
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
* @param \Magento\Customer\Model\CustomerFactory $customerFactory
*/
public function __construct(
\Magento\Framework\App\Action\Context $context,
\Magento\Store\Model\StoreManagerInterface $storeManager,
\Magento\Customer\Model\CustomerFactory $customerFactory
) {
$this->storeManager = $storeManager;
$this->customerFactory = $customerFactory;
parent::__construct($context);
}
public function execute()
{
// Get Website ID
$websiteId = $this->storeManager->getWebsite()->getWebsiteId();
// Instantiate object (this is the most important part)
$customer = $this->customerFactory->create();
$customer->setWebsiteId($websiteId);
// Preparing data for new customer
$customer->setEmail("email@domain.com");
$customer->setFirstname("First Name");
$customer->setLastname("Last name");
$customer->setPassword("password");
// Save data
$customer->save();
$customer->sendNewAccountEmail();
}
}
आशा है कि कोड का यह स्निपेट किसी और की मदद करेगा ।।