yii框架的模块(module)配置
2011-11-24 14:23
363 查看
yii中的模块看起来更像一个应用。主要区别是模块不能单独部署,必须存在于一个应用中。用户可以像访问普通应用控制器那样,访问模块中的控制器。
模块在一些大型应用中,非常有用,可以将应用划分为几个模块,每个模块可以单独维护。
紧接上篇文章《yii框架之hello world》,在modules文件夹下,建立hello文件夹。即在“模块(modules)”目录下,建立hello模块。如图示:
在hello模块中,下面的结构和普通的yii应用是一样的。,建立一个HelloModule.php文件,模块文件的类必须继承CWebModule的模块类。类的名称为:$id.“Module”,$id代表模块的ID。因为模块的名称为hello,所以这个文件名为:helloModule,内容如下:
<?php
class HelloModule extends
CWebModule {
}
?>
controllers/PostController.php的内容:
<?php
class PostController extends
CController {
public function
actionWorld() {
$this->render("hw",
array("varYii"
=> "hi yii Module"));
}
}
?>
可以看出,这里的写法和上篇文章的Controller写法是一模一样的。因为控制器Id是post,所以,我们在views下,建立post文件,建立一个hw.php的文件,为什么文件是是hw.php呢?因为$this->render("hw",
array("varYii"
=> "hi yii Module"));
展示的内容是hw,所以要建一个hw.php的文件(注意路径)。如图示:
hw.php的内容如下:
<?php
echo $varYii;
?>
这里,还需要对appyii/protected/config/main.php进行修改,增加模块熟悉。main.php的内容如下:
<?php
return array(
"modules" =>
array("hello",),
);
?>
另外,appyii/index.php的内容也要引入对main.php的应用。内容如下:
<?php
require_once(dirname(__FILE__) .
'../../yii-1.1.6/framework/yii.php');
$config = dirname(__FILE__) .
'/protected/config/main.php';
Yii::createWebApplication($config)->run();
?>
-----------------------------------------------------
至此,配置结束。模块中的控制器动作通过 r=moduleID/controllerID/actionID进行访问。运行一下,看看结果。
--
另外,说明一下,如果一个控制器位于controller目录的子目录中,我们仍然可以通过上述的访问方式访问,例如,假设PostController位于hello/controllers/aa中,我们仍然可以通过 r=hello/aa/post/world 进行访问。但是需要注意,如果PostController.php的代码不做改动,要想访问到hw.php,需要对目录进行如下调整:modules/hello/views/aa/post/hw.php
,对比原来的目录:modules/hello/views/post/hw.php
模块在一些大型应用中,非常有用,可以将应用划分为几个模块,每个模块可以单独维护。
紧接上篇文章《yii框架之hello world》,在modules文件夹下,建立hello文件夹。即在“模块(modules)”目录下,建立hello模块。如图示:
在hello模块中,下面的结构和普通的yii应用是一样的。,建立一个HelloModule.php文件,模块文件的类必须继承CWebModule的模块类。类的名称为:$id.“Module”,$id代表模块的ID。因为模块的名称为hello,所以这个文件名为:helloModule,内容如下:
HelloModule.php |
class HelloModule extends
CWebModule {
}
?>
controllers/PostController.php的内容:
PostController.php |
class PostController extends
CController {
public function
actionWorld() {
$this->render("hw",
array("varYii"
=> "hi yii Module"));
}
}
?>
可以看出,这里的写法和上篇文章的Controller写法是一模一样的。因为控制器Id是post,所以,我们在views下,建立post文件,建立一个hw.php的文件,为什么文件是是hw.php呢?因为$this->render("hw",
array("varYii"
=> "hi yii Module"));
展示的内容是hw,所以要建一个hw.php的文件(注意路径)。如图示:
hw.php的内容如下:
hw.php |
echo $varYii;
?>
这里,还需要对appyii/protected/config/main.php进行修改,增加模块熟悉。main.php的内容如下:
main.php |
return array(
"modules" =>
array("hello",),
);
?>
另外,appyii/index.php的内容也要引入对main.php的应用。内容如下:
index.php |
require_once(dirname(__FILE__) .
'../../yii-1.1.6/framework/yii.php');
$config = dirname(__FILE__) .
'/protected/config/main.php';
Yii::createWebApplication($config)->run();
?>
-----------------------------------------------------
至此,配置结束。模块中的控制器动作通过 r=moduleID/controllerID/actionID进行访问。运行一下,看看结果。
--
另外,说明一下,如果一个控制器位于controller目录的子目录中,我们仍然可以通过上述的访问方式访问,例如,假设PostController位于hello/controllers/aa中,我们仍然可以通过 r=hello/aa/post/world 进行访问。但是需要注意,如果PostController.php的代码不做改动,要想访问到hw.php,需要对目录进行如下调整:modules/hello/views/aa/post/hw.php
,对比原来的目录:modules/hello/views/post/hw.php
相关文章推荐
- YII框架分析笔记11:模块module
- YII框架redis的配置
- Yii框架中使用SRBAC作为权限管理模块时遇到的问题
- Yii框架配置文件main.php分析
- linux下平滑升级nginx,nginx安装第三方模块echo-nginx-module——linux安装配置web服务器7
- yii2配置词典 / 模块(module)配置一览
- 某互联网企业技术发展史(四)配置nginx和mysql兼容Yii框架,上传网站并调试成功
- Yii框架中使用SRBAC作为权限管理模块时遇到的问题
- nginx图片过滤处理模块http_image_filter_module安装配置笔记
- YII1.1框架配置
- php配置yii框架
- nginx图片过滤处理模块http_image_filter_module安装配置笔记
- YII框架配置环境搭建
- 项目总结SpringMVC+hibernate框架 原理(MVC) 模块配置文件(4)
- yii框架路由配置
- Yii框架中sphinx索引配置方法解析
- YII框架之soap协议的配置跟使用(Webservice)
- RDIFramework.NET — 基于.NET的快速信息化系统开发框架- 5.4平台日志、异常管理、生成自动升级配置文件模块
- RDIFramework.NET — 基于.NET的快速信息化系统开发框架- 5.4平台日志、异常管理、生成自动升级配置文件模块
- PHP Yii开源框架入门学习(三)Yii的相关配置总结