如何在YII2中创建模块

use*_*221 10 php yii2

如何在yii2中创建模块并在配置上设置相同的模块.我一直在谷歌搜索一下,我找不到那么多的教程.请帮忙.

Zac*_*ack 6

选项1

  1. 在应用程序基本路径上创建一个模块文件夹。@app这将与当前运行的应用程序的别名相对应。这与基本模板或高级模板中后端/前端的根文件夹相同。

  2. 在模块文件夹内为模块创建一个与模块 ID 相对应的文件夹。

  3. 您的模块类应该位于此模块文件夹内,并且应该扩展\yii\base\Module. 这是模块类的基本工作示例。

    <?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
       }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  4. 在同一文件夹中创建模块控制器、模型和视图文件夹。

  5. 要访问该模块,您需要将其添加到您的应用程序配置中:

    <?php
    ......
       'modules' => [
          'home' => [
             'class' => 'app\modules\home\Home',
          ],
       ],
    ......
    
    Run Code Online (Sandbox Code Playgroud)

选项2

  1. 如果您使用 Gii 模块,请转到模块生成器并输入模块类的路径。app\modules\home\Home这与选项 1 中的相同

  2. 预览并生成所有文件。根据您的模块类,按照选项 1 中的方式更改应用程序配置。


Ksh*_*tiz 4

  1. 在 yii2 中安装Gii。使用文档。
  2. 然后使用模块生成器。您需要 Web 权限才能为该文件夹创建文件,或者您可以复制粘贴生成的代码并手动创建指定的文件。
  3. 生成完成后,它将显示绿色文本。对于 try module”(当文件夹具有 web 权限时)或将以下代码复制到 module 下的 main.php 配置文件中。将 modulename 替换为您的 modulename。

    'modules' => [
        'modulename' => [
             'class' => 'app\modules\modulename\Module',
        ],
    ]
    
    Run Code Online (Sandbox Code Playgroud)

如果仍有困惑,请发表评论。我将进行编辑以使这更有意义。