0

Please anyone see my code and resolve this issue

Fatal error: Uncaught TypeError: Argument 1 passed to MyClass::__construct() must implement interface Magento\Framework\Session\SessionManagerInterface, none given, called in /home/dukaania/public_html/testing2/vendor/magento/module-checkout/view/frontend/templates/cart/shipping.phtml on line 132 and defined in /home/dukaania/public_html/testing2/vendor/magento/module-checkout/view/frontend/templates/cart/shipping.phtml:109 Stack trace: #0

    use Magento\Framework\Session\SessionManagerInterface as CoreSession;

    class MyClass
    {

        protected $_coreSession;

        public function __construct(CoreSession $coreSession) 
        {
            $this->_coreSession = $coreSession;

        }

      public function setValue($total_cost){
        $this->_coreSession->start();
        $this->_coreSession->setMessage($total_cost);


    }

    public function getValue(){
        $this->_coreSession->start();
        return $this->_coreSession->getMessage();


    }


}

$myclas = new MyClass();

 $myclas.setValue($total_cost);     
 echo $myclas.getValue();
  • $myclas = new MyClass(); $myclas.setValue($total_cost); echo $myclas.getValue(); use is not good idea – Amit Bera Oct 5 '18 at 7:36
  • just want to echo varaible or get variable – jhon jhon doe Oct 5 '18 at 7:37
2

You issue at $myclas = new MyClass();

To initialize this class you have to use the object manager or have to inject that class to your class.

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$myclass = $objectManager->create('{NameSpaceofClass}\MyClass');
  • how can i echo myclass on same phtml file – jhon jhon doe Oct 5 '18 at 7:47
  • $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $myclass = $objectManager->create('{NameSpaceofClass}\MyClass'); $myclas.setValue($total_cost); echo $myclas.getValue(); – Amit Bera Oct 5 '18 at 7:59
  • NOte that you have set value and get value on same time, it does not work, set value of session , will reflect one page refresh as Session is server site element – Amit Bera Oct 5 '18 at 8:01
0

just run this command

If you are using Magento 2.1.9 or less than clear/remove

rm -rf var/generation folder

for above magento version run below command

rm -rf generated

OR simply run di compile

php -dmemory_limit=6G bin/magento setup:di:compile

AND

php bin/magento cache:clean && php bin/magento cache:flush

and check your output again

  • nothing happend same issue after run those commands – jhon jhon doe Oct 5 '18 at 7:04
  • which magento version are you using? – Hitesh Oct 5 '18 at 7:05
  • If you are using Magento 2.1.9 or less than clear/remove var/generation folder – Hitesh Oct 5 '18 at 7:05
  • version magento 2...... – jhon jhon doe Oct 5 '18 at 7:06
  • nothing happend – jhon jhon doe Oct 5 '18 at 7:11
0

Please replace your constructor with this and let's check if it works,

 public function __construct(
       \Magento\Framework\Session\SessionManagerInterface $coreSession
    ) {
        $this->_coreSession = $coreSession;
    }

As we are directly passing the SessionManagerInterface class in the constructor we don't need to include it.

Now run the following commands

php bin/magento setup:upgrade

php bin/magento setup:static-content:deploy

  • nothing gonna work same issue – jhon jhon doe Oct 5 '18 at 7:35
0

Set/Get/Unset Value in Core Session:

protected $_coreSession;

public function __construct(
    -----
    \Magento\Framework\Session\SessionManagerInterface $coreSession
    ){
    $this->_coreSession = $coreSession;
    ----
}

public function setValue($total_cost){
    $this->_coreSession->start();
    $this->_coreSession->setMessage($total_cost);
}

public function getValue(){
    $this->_coreSession->start();
    return $this->_coreSession->getMessage();
}

public function unSetValue(){
    $this->_coreSession->start();
    return $this->_coreSession->unsMessage();
}

after this Run this SSH Command

  1. rm -rf var/*
  2. rm -rf generated/*

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.