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)