How to create a module in yii2 and setting up the same on configuration. I've been searching a while on google and I cannot find that much tutorial on it. Please help.
Modules are self-contained software units that consist of models, views, controllers, and other supporting components. End users can access the controllers of a module when it is installed in application. For these reasons, modules are often viewed as mini-applications.
Option 1
Create a modules folder on your application base path. This would be what corresponds to your @app
alias of your currently running application. This is the same as the root folder of basic template or backend/frontend in the advanced template.
Inside your modules folder create a folder for your module corresponding to the Module ID.
Your Module Class should be inside this module folder and should extend \yii\base\Module
. This is a basic working example for your module class.
<?php
namespace app\modules\home;
class Home extends \yii\base\Module
{
public $controllerNamespace = 'app\modules\home\controllers';
public function init()
{
parent::init();
// custom initialization code goes here
}
}
Create your module controller, models and views folder on the same folder.
To access the module, you need to add this to your application configuration:
<?php
......
'modules' => [
'home' => [
'class' => 'app\modules\home\Home',
],
],
......
Option 2
If you are using Gii module, go to module generator and enter path to module class. This would be the same as app\modules\home\Home
in option
1
Preview and Generate all files. Change application configuration as in Option 1 according to your module class.
When generation is complete it will show you a green text. For try module" (When folder have the web permission) OR Copy following code to main.php configuration file under module. Replace modulename with yours.
'modules' => [
'modulename' => [
'class' => 'app\modules\modulename\Module',
],
]
Please leave comment if still have confusion. I will edit to make this more sense.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With