Follow bellow steps
Step : 1 (module.xml)
app/code/Ccc/HelloWorld/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="Ccc_HelloWorld" setup_version="1.0.1">
</module>
</config>
Step : 2 (routes.xml)
app/code/Ccc/HelloWorld/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="helloworld" frontName="helloworld">
<module name="Ccc_HelloWorld" />
</route>
</router>
</config>
Step : 3 (registration.php)
app/code/Ccc/HelloWorld/registration.php
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Ccc_HelloWorld',
__DIR__
);
Step : 4 (Index.php)
app/code/Ccc/HelloWorld/Controller/Index/Index.php
<?php
namespace Ccc\HelloWorld\Controller\Index;
use Magento\Framework\View\Result\PageFactory;
class Index extends \Magento\Framework\App\Action\Action
{
protected $resultPageFactory;
/** * @param \Magento\Framework\App\Action\Context $context */
public function __construct(\Magento\Framework\App\Action\Context $context,PageFactory $resultPageFactory)
{
$this->resultPageFactory = $resultPageFactory;
parent::__construct($context);
}
public function execute()
{
$resultPage = $this->resultPageFactory->create();
$resultPage->getConfig()->getTitle()->prepend(__('Hello World'));
return $resultPage;
}
}
Step : 5 (HelloWorld.php)
app/code/Ccc/HelloWorld/Block/HelloWorld.php
<?php
namespace Ccc\HelloWorld\Block;
class HelloWorld extends \Magento\Framework\View\Element\Template
{
public function _prepareLayout()
{
return parent::_prepareLayout();
}
}
Step : 6 (helloworld_index_index.xml)
app/code/Ccc/HelloWorld/view/frontend/layout/helloworld_index_index.xml
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="content">
<block class="Ccc\HelloWorld\Block\HelloWorld" name="helloworld" template="helloworld.phtml">
</block>
</referenceContainer>
</body>
</page>
Step : 7 (helloworld.phtml)
app/code/Ccc/HelloWorld/view/frontend/templates/helloworld.phtml
<?php
echo 'Successful! This is a simple module in Magento 2.0';
?>
Step : 8 (rerun magento setup - this will re-generate app/etc/config.php & enable the module)
php-cli bin/magento setup:upgrade
I also flush the cache of the admin panel.
Best Answer
To find out your admin URI you need to run the following command:
It will give you an output like this:
Then you just need to append this result to your main URL