yii2笔记: 模块(module)

官方文档

http://www.yiiframework.com/doc-2.0/guide-structure-modules.html

自己的一些理解:

application和console本质上也都是module

我们建立的module实质上都是application的子模块

module里加载特定配置

Module.php

<?php

namespace app\modules\testmod;

/**
 * testmod module definition class
 */
class Module extends \yii\base\Module
{
    /**
     * @inheritdoc
     */
    public $controllerNamespace = ‘app\modules\testmod\controllers‘;

    /**
     * @inheritdoc
     */
    public function init()
    {
        parent::init();
        \Yii::configure($this, require(__DIR__ . ‘/config.php‘));

        // custom initialization code goes here
    }
}

  

config.php,这里和config/web.php的原理是一样的。

<?php
return [
    ‘components‘ => [
        ‘db‘ => require(__DIR__ . ‘/db.php‘),
    ],
    ‘params‘ => [
        ‘adminEmail‘ => ‘[email protected]‘,
    ],
];

  

控制器里使用模块的配置

        print \Yii::$app->params[‘adminEmail‘]; // application的参数
        print $this->module->params[‘adminEmail‘]; // 当前模块的参数
        print $this->module->db->createCommand("SELECT COUNT(1) FROM testmod")->queryScalar(); // 当前模块的组件

  

视图里使用模块的配置

<?= $this->context->module->params[‘adminEmail‘] ?>

  

时间: 2024-10-07 20:40:28

yii2笔记: 模块(module)的相关文章

Yii2 模块module笔记

包含内容: 使用GII新建module 建立子模块 在其他控制器中调用模块的操作(action) 1. 使用Gii工具新建module 注意模块的路径,我们没有写backend\modules\Article.多了一层article目录是为了防止如果有多个模块共用同一文件. 2. 在backend\config\main.php中添加配置代码. 'modules' => [ 'article' => [ 'class' => 'backend\modules\article\Articl

Python笔记4#模块Module

▲模块Module 为了编写可维护的代码,我们可以把代码分放在不同的文件里.在Python中,一个.py文件就称为一个模块. 我们在编写程序的时候,经常引用其他模块,包括Python内置的模块和来自第三方的模块. 使用模块可以避免函数名和变量名起冲突,但是也要注意,尽量不要与内置函数(Built-in Function)名字冲突. 为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package). 每个包目录下都会有一个__init__.py文件.这个文件是必须存在的,否

python学习笔记之module &amp;&amp; package

个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, __init__.py可以有两种形式, 一种是直接import多个模块,例如 import fibo import abc 另外一种是 __all__ = ["A","B"] python学习笔记之module && package python的mo

Yii2 获取模块名、控制器名、方法名

Yii2 获取模块名.控制器名.方法名在视图中: 模块名 $this->context->module->id 控制器名 $this->context->id 方法名 $this->context->action->id 在控制器中 模块名 Yii::$app->controller->module->id; 控制器名 Yii::$app->controller->id 方法名 Yii::$app->controller-

Python3 基础 —— 模块 Module 介绍

1.模块的作用 在交互模式下输出的变量和函数定义,一旦终端重启后,这些定义就都不存在了,为了持久保存这些变量.函数等的定义,Python中引入了模块(Module)的概念.一个Python模块其实就是一个脚本文件,具有后缀".py",例如 hello.py 就是一个模块文件名,和普通文件一样可以被永久保存在本地存储磁盘中. 2.模块的内容 Python模块中存放的是一些程序代码,例如,变量定义.函数定义或是代码语句.下面是hello.py模块的内容,其中有一个变量 a,一个函数 fun

node.js笔记——模块的开发

模块是什么? 简单来说模块是用来将实现某个功能的代码进行封装以便在其他项目中通过简单引入的方式实现模块中封装的功能的一个东西!!(我更想管他叫小程序). 模块的引入 模块的引入使用reqiure()函数来实现例如引入http模块 var h = require("http"); 这里需要注意的是require()加载函数可以加载指定的js文件,当引入的不是某个js文件而是一段没有扩展名的字符时,默认node.js会加载当前根目录下的node_modules文件夹下面的文件夹里的文件 并

Lua中的模块(module)和包(package)详解1

这篇文章主要介绍了Lua中的模块(module)和包(package)详解,本文讲解了require函数.写一个模块.package.loaded.module函数等内容,需要的朋友可以参考下 前言 从Lua5.1版本开始,就对模块和包添加了新的支持,可是使用require和module来定义和使用模块和包.require用于使用模块,module用于创建模块.简单的说,一个模块就是一个程序库,可以通过require来加载.然后便得到了一个全局变量,表示一个table.这个table就像是一个命

Lua中的模块(module)和包(package)详解

这篇文章主要介绍了Lua中的模块(module)和包(package)详解,本文讲解了require函数.写一个模块.package.loaded.module函数等内容,需要的朋友可以参考下 前言 从Lua5.1版本开始,就对模块和包添加了新的支持,可是使用require和module来定义和使用模块和包.require用于使用模块,module用于创建模块.简单的说,一个模块就是一个程序库,可以通过require来加载.然后便得到了一个全局变量,表示一个table.这个table就像是一个命

angularjs 模块与控制器 (多个模块module?? 多个控制器controller??)

angularjs 中只能有一个模块module(ng-app=""),一个模块可以有多个控制器(ng-controller="") 自己试验的时候,js跟页面可以写在一块,但是大型项目开发中,最好做到html与js分离,便于以后维护. 下图所示:ng-app只能有一个,一个ng-app 中可以有多个controller ;定义多个ng-app时无意义. 运行效果图如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM