- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
yii2模块配置
HYPERLINK http://nonfu.me/tag/%e6%a8%a1%e5%9d%97 \o View all posts in 模块 \t _blank 模块是独立的软件单元,由模型, 视图, 控制器和其他支持组件组成, 终端用户可以访问在应用主体中已安装的模块的控制器, 模块被当成小应用主体来看待,和应用主体不同的是, 模块不能单独部署,必须属于某个应用主体。
创建模块
模块被组织成一个称为[[yii\base\Module::basePath|base path]]的目录, 在该目录中有子目录如controllers, models, views 分别为对应控制器,模型,视图和其他代码,和应用非常类似。 如下例子显示一个模型的目录结构:
forum/
Module.php 模块类文件
controllers/ 包含控制器类文件
DefaultController.php default 控制器类文件
models/ 包含模型类文件
views/ 包含控制器视图文件和布局文件
layouts/ 包含布局文件
default/ 包含DefaultController控制器视图文件
index.php index视图文件
模块类
每个模块都有一个继承[[yii\base\Module]]的模块类,该类文件直接放在模块的[[yii\base \Module::basePath|base path]]目录下, 并且能被 自动加载。当一个模块被访问,和 应用主体实例 类似会创建该模块类唯一实例,模块实例用来帮模块内代码共享数据和组件。
以下示例一个模块类大致定义:
namespace app\ HYPERLINK http://nonfu.me/tag/module \o View all posts in module \t _blank modules\forum;
class Module extends \yii\base\Module
{
public function init()
{
parent::init();
$this-params[foo] = bar;
// ... 其他初始化代码 ...
}
}
如果 init() 方法包含很多初始化模块属性代码, 可将他们保存在配置 并在init()中使用以下代码加载:
public function init()
{
parent::init();
// 从config.php加载配置来初始化模块
\ HYPERLINK http://nonfu.me/tag/yii-2 \o View all posts in Yii \t _blank Yii::configure($this, require(__DIR__ . /config.php));
}
config.php配置文件可能包含以下内容,类似应用主体配置.
?php
return [
components = [
// list of component configurations
],
params = [
// list of parameters
],
];
模块中的控制器
创建模块的控制器时,惯例是将控制器类放在模块类命名空间的controllers子命名空间中, 也意味着要将控制器类文件放在模块[[yii\base\Module::basePath|base path]]目录中的controllers子目录中。 例如,上小节中要在forum模块中创建post控制器,应像如下申明控制器类:
namespace app\modules\forum\controllers;
use yii\web\Controller;
class PostController extends Controller
{
// ...
}
可配置[[yii\base\Module::controllerNamespace]]属性来自定义控制器类的命名空间, 如果一些控制器不再该命名空间下,可配置[[yii\base\Module::controllerMap]]属性让它们能被访问, 这类似于 应
您可能关注的文档
最近下载
- 2025年成都市金牛区某国企招聘工作人员若干人备考题库含答案详解.docx VIP
- 2025年成都市金牛区某国企招聘工作人员若干人备考题库参考答案详解.docx VIP
- .铝合金门窗的新技术应用.pdf VIP
- 第六部分犬的保健.ppt VIP
- 国际货币基金组织IMF债务可持续分析框架.docx VIP
- 外墙立面改造工程施工方案.docx VIP
- TD_T 1012-2016 土地整治项目规划设计规范.docx VIP
- 小学五年级英语期中测试卷(含听力材料).doc.docx VIP
- 2025年成都市金牛区某国企招聘工作人员若干人备考题库附答案详解.docx VIP
- 机械基础机械基础(初级)试题库.docx VIP
原创力文档


文档评论(0)