访问时的路径是:
http://192.168.1.111/yii/blog/index.php?r=site/index;
SiteController.php文件中要有actionIndex()方法。看出规律了吗?SiteController.php他的控制器名字就是site,actionIndex方法的action名字就是index。而如果很复杂的程序结构中:
SiteController.php就必须要在views中有site的文件夹。下面有很多视图文件。如index.php等。例如SiteController.php中有个actionSayHi()方法,那么site的文件夹下面就要有sayHi.php的文件。
而如果这么写:
function actionWorld(){
$this->render('hw',array('varYii'=>'hi yii Module'));
}
就表示在world.php文件中就可以直接访问到变量$varYii;
如:
<?php
echo $varYii;
?>
render()方法的意思是渲染视图文件。前面的hw的意思是要调用来渲染的视图文件是hw.php.
模块中的控制器动作通过 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