9

I working on creating custom module in magento 2, but it's not working. Could you please suggest me where i went wrong?.

My module code:

app/etc/config.php:

'modules' => array ( 'Ramesh_Sample' => 1, ), 

app/code/Ramesh/Sample/etc/module.xml

<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd"> <module name="Ramesh_Sample" schema_version="2.0.0"> </module> </config> 

app/code/Ramesh/Sample/etc/frontend/routes.xml

<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../lib/internal/Magento/Framework/App/etc/routes.xsd"> <router id="standard"> <route id="sample" frontName="sample"> <module name="Ramesh_Sample" /> </route> </router> </config> 

app/code/Ramesh/Sample/Controller/Index/Index.php

<?php namespace Ramesh\Sample\Controller\Index; use Magento\Framework\App\Action\Context; //use \Magento\Framework\View\Result\PageFactory; class Index extends \Magento\Framework\App\Action\Action { private $_resultPageFactory; public function __construct( Context $context, \Magento\Framework\View\Result\PageFactory $resultPageFactory ) { parent::__construct($context); $this->_resultPageFactory = $resultPageFactory; } public function execute() { $result = $this->_resultPageFactory->create(); return $result; } } 

app/code/Ramesh/Sample/Block/Sample.php

namespace Magento\Sample\Block; class Sample extends \Magento\Framework\View\Element\Template { } 

app/code/Ramesh/Sample/views/frontend/layout/sample_index_index.xml

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd"> <head> <title>Hello World</title> </head> <body> <referenceContainer name="content"> <block class="Sample\Ramesh\Block\Sample" name="sample" template="sample.phtml"> </block> </referenceContainer> </body> </page> 

app/code/Ramesh/Sample/view/frontend/templates/sample.phtml

<?php echo 'Hi I am Magento 2'; ?> 

But I got the following error:

a:4:{i:0;s:380:"Recoverable Error: Argument 2 passed to Ramesh\Sample\Controller\Index\Index::__construct() must be an instance of Magento\Framework\View\Result\PageFactory, none given, called in var/generation/Ramesh/Sample/Controller/Index/Index/Interceptor.php on line 14 and defined in app/code/Ramesh/Sample/Controller/Index/Index.php on line 14";i:1;s:6109:"#0 app/code/Ramesh/Sample/Controller/Index/Index.php(14): Magento\Framework\App\ErrorHandler->handler(4096, 'Argument 2 pass...', '/var/www/html/m...', 14, Array)

1

3 Answers 3

29

try to delete your module from the var/generation/vendor-name/your-module and try to refresh the page and check if it's working.

4
  • Why do I have to delete the complete var/generation folder? Is there a faster process? Do I have to run bin/magento setup:di:compile every time? Commented Feb 17, 2016 at 20:49
  • 1
    You don't need to delete the complete var/generation folder try to identify your correct folder of your module Example : Demo /Module inside the var/generation .The code bin/magento setup:di:compile works only if you set the dependencies or code generation patterns set in di.xml Commented Feb 18, 2016 at 4:45
  • This has happened to me while working with controllers and I fixed it the same way, but can somebody explain why this happens in the first place? Commented Mar 5, 2017 at 23:52
  • tried the same above code and deleted files as mentioned but still showing error - HTTP ERROR 500, Commented Jul 27, 2019 at 6:34
10

You can use below mentioned command and then refresh the page.

php bin/magento setup:upgrade 
2
  • It worked for me Commented Dec 19, 2016 at 8:50
  • Great ;) Working for me Commented Oct 18, 2017 at 7:40
1

Replace code given below in your constructor

$this->_pageFactory = $pageFactory; return parent::__construct($context); 

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.